有关使用总结参考了这位前辈的(前人栽树后人乘凉呀~)
至于自己这个……只是方便自己用的,希望以后链接别没了吧。
(话说CSDN好多angular的帖子都找不到了)
一、ExecutorService
先上代码块
ExecutorService executorService = Executors.newFixedThreadPool(5);
while (循环条件) {
executorService.execute(() -> {
执行内容;
});
}
试了试,插入本地数据库十万条数据,单线程比多线程耗时多了4倍,刚接触多线程的萌新觉得好牛逼啊!
Executors工厂创建线程池
newCachedThreadPool:
创建一个可缓存线程池
优点:很灵活,弹性的线程池线程管理,用多少线程给多大的线程池,不用后及时回收,用则新建
缺点:一旦线程无限增长,会导致内存溢出。
newFixedThreadPool :
优点:创建一个固定大小线程池,超出的线程会在队列中等待。
缺点:不支持自定义拒绝策略,大小固定,难以扩展
newScheduledThreadPool