1. Single Thread Executor:只有一个线程的线程池,因此所有提交的任务是顺序执行。
代码:Executors.newSingleThreadExecutor()
2. Cached Thread Pool:线程池里有很多线程需要同时执行,老的可用线程将被新的任务触发重新执行,如果线程超过60秒内没执行,那么将被终止并从池中删除。
代码:Executors.newCachedThreadPool()
3. Fixed Thread Pool:拥有固定线程数的线程池,如果没有任务执行,那么线程会一直等待。
代码:Executors.newFixedThreadPool(4)
在构造函数中的参数4是线程池的大小,你可以随意设置,也可以和cpu的核数量保持一致,获取cpu的核数量方式:int cpuNums = Runtime.getRuntime().availableProcessors();
4. Scheduled Thread Pool:用来调度即将执行的任务的线程池。
代码:Executors.newScheduledThreadPool()
5. Single Thread Scheduled Pool:只有一个线程,用来调度任务在指定时间执行。
代码:Executors.newSingleThreadScheduledExecutor()
原文地址:https://www.cnblogs.com/fjlcoding/p/10070730.html
时间: 2024-11-08 20:42:15