Java JVM是否限制执行器可以运行的线程数?
我知道我可以使用fixedThreadPool来限制程序一次使用的线程数量。如果我使用cachedThreadPool,并且可以运行10000个线程,JVM是否会适当地安排它们,以便不会有太多线程同时运行?JVM与操作系统限制有关。操作系统受虚拟内存、交换空间和堆栈大小的限制 下面的三个stackoverflow线程应该解释:Java JVM是否限制执行器可以运行的线程数?,java,multithreading,jvm,threadpool,Java,Multithreading,Jvm,Threadpool,我知道我可以使用fixedThreadPool来限制程序一次使用的线程数量。如果我使用cachedThreadPool,并且可以运行10000个线程,JVM是否会适当地安排它们,以便不会有太多线程同时运行?JVM与操作系统限制有关。操作系统受虚拟内存、交换空间和堆栈大小的限制 下面的三个stackoverflow线程应该解释: Java/JVM限制: Linux限制: 窗口: JVM根本不会安排它们。操作系统就是这样做的。实际上可以同时执行的数量(与可运行的相反)取决于您拥有的CPU和内核的数
- Java/JVM限制:
- Linux限制:
- 窗口:
AsynchronousFileChannel
,或者仅在有限数量的线程上对IO请求进行排队,旋转更多线程不会使旋转速度更快。