本文主要是介绍Java 使用Executors创建线程池,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.newCachedThreadPool
: 返回一个缓存线程池; 如果处理的任务超过线程池中的线程数,并且没有可用的线程时,线程池会创建一个新的线程给一个任务。它会回收旧的线程,为之后使用。
ExecutorService service = Executors.newCachedThreadPool();
2.newFixedThreadPool
: 固定大小的线程池。线程池内线程的数目是固定的,如果线程池内没有可用的线程时,任务会等待,直到有空闲的线程。
ExecutorService service = Executors.newFixedThreadPool(5);
3.newSingleThreadExecutor
: 单线程线程池,只使用一个工作线程处理任务,当当前任务处理结束时,下一个任务才被处理,其它任务会等待在任务队列。
ExecutorService service = Executors.newSingleThreadExecutor();
4.newScheduledThreadPool
: 固定大小的,定时处理任务的线程池。
ScheduledExecutorService service = Executors.newScheduledThreadPool(3);
调用方法:
service.schedule(new Work(i), 3, TimeUnit.SECONDS);
这篇关于Java 使用Executors创建线程池的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!