Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的锁定是否会创建核心亲和力并阻止/阻止在所有核心上调度线程_Java_Multithreading_Logging_Concurrency_Locking - Fatal编程技术网

Java中的锁定是否会创建核心亲和力并阻止/阻止在所有核心上调度线程

Java中的锁定是否会创建核心亲和力并阻止/阻止在所有核心上调度线程,java,multithreading,logging,concurrency,locking,Java,Multithreading,Logging,Concurrency,Locking,我已经实现了生产者-消费者模式来促进线程之间的交互。但是锁定的争用仅在生产者线程之间,而不是消费者和任何生产者线程之间。不过,该应用程序的CPU使用率最高为50%,所有线程都安排在一个内核上(它是Windows 10操作系统,而不是任何服务器操作系统)。它的行为几乎像一个串行进程,消费者线程正在等待它的切片 线程安全日志记录会成为瓶颈吗(因为在我们的web应用程序中,所有内容都记录到一个文件中) 我的意图是至少消费者线程应该能够与生产者线程并行地获得切片。为什么要推测何时可以进行测试?正确的答案

我已经实现了生产者-消费者模式来促进线程之间的交互。但是锁定的争用仅在生产者线程之间,而不是消费者和任何生产者线程之间。不过,该应用程序的CPU使用率最高为50%,所有线程都安排在一个内核上(它是Windows 10操作系统,而不是任何服务器操作系统)。它的行为几乎像一个串行进程,消费者线程正在等待它的切片

线程安全日志记录会成为瓶颈吗(因为在我们的web应用程序中,所有内容都记录到一个文件中)


我的意图是至少消费者线程应该能够与生产者线程并行地获得切片。

为什么要推测何时可以进行测试?正确的答案是更改记录器以避免争用文件或缓存的资源,或者使用ThreadLocal隔离记录器并重新运行程序并自己分析结果。

如果不查看您的代码,我们无法回答此问题。请试着做一个演示这个问题的例子。请访问并阅读以了解如何使用此网站。如果我添加代码(尽管它现在是我公司的IP),您是否会删除downvote?我在stackoverflow中看到过类似的问题,没有代码片段。如果是你公司的IP,那么你需要创建一个独立的来演示这个问题,你可以与我们分享。事实上,花时间做一份遗嘱可能会让你自己解决问题,并在这个过程中学到一些东西。这就是为什么它总是一个很好的主意,使一个。谢谢你建设性的答复。问题是,一个月前,我已经向我的技术负责人提出了这个建议。至少我在周五得到了一个Linux虚拟机(而不是我当前的工作站windows),今天我将部署代码并使用Gatling(一个基于scala的性能测试工具)进行性能测试。在这些长时间运行的测试期间,我将为我的消费者线程创建一个单独的日志文件。我是一个签约开发人员,如果我把时间花在一个尚未批准的方法上,我需要有强大的基础。