forkjoinpool.commonpool()
时间: 2023-05-03 08:01:44 浏览: 161
'ForkJoinPool.commonPool()'是Java SE 8及以上版本中的一个并行执行任务的线程池,它是一个静态方法,返回一个默认的ForkJoinPool实例,可以用于在应用程序中进行并行处理。
相关问题
ForkJoinPool.commonPool() 线程池大小
ForkJoinPool.commonPool() 是 Java 中的一个默认线程池实例,它是基于Fork-Join框架实现的。它的大小是根据当前系统的CPU核心数来动态调整的。
在 Java 8 中,默认情况下,ForkJoinPool.commonPool() 的大小是根据 Runtime.getRuntime().availableProcessors() 方法返回的 CPU 核心数来决定的。它的最大线程数默认为 CPU 核心数减一。
但是需要注意的是,如果你调整了 ForkJoinPool.common.parallelism 系统属性,那么它的大小就不再是默认值,而是根据你设置的值来决定。你可以通过 System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "N") 来设置线程池的大小为 N。
总结来说,ForkJoinPool.commonPool() 的线程池大小取决于系统的 CPU 核心数,并且可以通过系统属性进行调整。
ForkJoinPool.commonPool-worker-12
ForkJoinPool.commonPool-12 是 Java 中的一个内部线程池机制的一部分,它属于 Fork/Join 框架。`commonPool` 是一个全局共享的线程池,用于执行 ForkJoinTask 类的任务。`worker-12` 表示这个特定的 worker 线程,编号为 12,它是 `commonPool` 中的一个成员。
当任务被提交给 ForkJoinPool 并通过工作分派算法拆分成更小的部分(Fork操作),这些小任务会交给 worker 线程来处理。每个 worker 负责在其本地线程上执行这些任务,直到它们完成,然后继续接收来自主线程或其他 worker 的新任务(Join操作)。
简而言之,`ForkJoinPool.commonPool-worker-12` 是 Java 中一个负责分布式任务分解、执行和合并的并发组件。
阅读全文