public class ThreadUtils {
private static final ThreadUtil ourInstance = new ThreadUtil();
// 线程池的时间执行者
ThreadPoolExecutor threadPoolExecutor;
private ThreadUtil() {
// 定义线程池,依此参数意义:核心线程数量、线程总数量、线程等待超时时间、时间单位、
// 线程等待时存放任务的阻塞队列
threadPoolExecutor = new ThreadPoolExecutor(3, 6,
10, TimeUnit.SECONDS,
new LinkedBlockingDeque<Runnable>(3));
// threadPoolExecutor.shutdownNow();
}
// 单例模式
@NonNull
public static ThreadUtil getInstance() {
return ourInstance;
}
// 启动线程,开始执行任务
public void run(@NonNull Runnable runnable) {
threadPoolExecutor.execute(runnable);
}
}
线程池的使用Demo
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Lock锁的使用 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释...
- 这篇文章是转载InfoQ上方腾飞老师的一篇文章,这篇文章已经写的非常详细了,阅读原文请点击这里. 1. 引言 合理...
- WebStorm for mac是jetbrains公司旗下一款很好用的JavaScript开发工具。被广大中国J...