如何以在应用程序级别为应用程序创建中央线程池的方式使用ExecutorService,该线程池的大小将根据当时CPU可用的线程数设置,然后根据应用程序的不同功能进行设置从中央池根据他们的要求线程.Inm小程序商店 | Vultr中文网
最佳答案
贝娄是我的观点:
>中央线程池?
也许是说“设计模式”中的Singleton Pattern,我认为它可以解决您的问题;
>根据CPU可用的线程数设置?
线程池的大小不正确.实际上,大小取决于线程池执行的任务类型.例如,如果任务是CPU密集型,则大小可以为Runtime.getRuntime().availableProcessors()1;如果任务是I / O密集型,则大小可以为Runtime.getRuntime().availableProcessors()* 2.基本原则,您应该通过使用一些准则(例如Little’s_law)测试您的应用程序来确定合适的大小;
>我的建议:
实际上,我很少将所有任务提交到一个中央threal池,也许应该按类型对任务进行分组,然后将它们提交到不同的线程池,这将在以后监视或调整线程池时非常方便.
希望对您有所帮助.