我正在学习Java中的多线程和并发。阅读大量关于堆栈溢出和在线的文章。但没有被清除。所以请容忍我。
首先,我的疑问是,有人说线程可以并发运行的数量相当于(处理器核的n=数),对吗?我对这句话不太肯定。
但是我已经读到,我们可以在JVM中创建我们想要的线程,这仅仅取决于我们分配给JVM的内存。是对的吗?
如何确定一个java程序并行运行的线程数?它与处理器核心的某个地方有关吗?
发布于 2018-10-06 06:07:00
可以并行运行的线程数等于(处理器核的n=数)。
是的,这个说法是正确的。
但是我已经读到,我们可以在JVM中创建我们想要的线程,这仅仅取决于我们分配给JVM的内存。是对的吗?
理论上是的。在得到Threads之前,您可以在JVM中创建所需的多少OutOfMemoryError。但是创建Threads是一项昂贵的任务,因此作为最佳实践,可以考虑使用共享线程池。这可以使用ExecutorService框架来实现。
https://stackoverflow.com/questions/52676163
复制相似问题