如何使用ExecutorService,以便在应用程序级别为应用程序创建一个中心线程池,该应用程序的池大小将根据当时CPU可用的线程数来设置,然后应用程序的不同功能将根据它们的需要从这个中心池中使用线程。
发布于 2016-11-30 09:58:00
贝娄是我的观点:
Runtime.getRuntime().availableProcessors() + 1 CPU密集型,则大小可以是Runtime.getRuntime().availableProcessors() * 2;如果任务是I/O密集型.But,则为Runtime.getRuntime().availableProcessors() * 2--这些只是基本原则,您应该通过使用一些指南(例如法)来测试应用程序来确定适当的大小;希望能帮助你。
发布于 2016-11-24 13:29:56
从Java 8开始,我建议您使用ForkJoinPool.commonPool()。这是基础Java提供的唯一全局线程池。
在Java 8之前,要么保留自己的线程池,要么使用框架的可共享线程池。
https://stackoverflow.com/questions/40778776
复制相似问题