线程池的几种创建方式
来源:互联网 发布:unity3d抗锯齿插件 编辑:程序博客网 时间:2024/06/01 17:12
◆创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newCachedThreadPool
◆创建一个定长的线程池,可控制线程最大并发数,超出的线程会在队列中等待。newFixedThreadPool
◆创建一个定长线程池,支持定时及周期性任务执行。延迟执行newScheduledThreadPool
◆创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序执行newSingleThreadExecutor
其实这四种方法的实现 都是 new 了一个 ThreadPoolExecutor出来!
1.创建一个缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
2.创建一个定长线程池,控制最大并发数,如果超过的线程会在队列中等待。代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
3,创建一个定长线程池,可以设置定时及周期性任务执行。延迟执行,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
4,创建一个单线程的线程池,但是保证所有要执行的任务是有序的,代码如下:
阅读全文
0 0
- 创建线程池的几种方式
- 线程池的几种创建方式
- 线程池的几种常见的创建的方式
- 线程池的几种常见的创建的方式
- C#几种创建线程的方式
- 总结几种创建线程的方式
- 创建线程的几种方式
- 二、创建线程的几种方式
- 创建线程的几种方式
- 创建线程的几种方式
- 创建线程的几种方式
- Java-线程创建的几种方式
- 多线程:创建线程的几种方式
- java中创建线程的的几种方式
- java中创建线程的的几种方式
- uclinux创建内核线程的几种方式
- uclinux创建内核线程的几种方式
- ios线程篇:多线程的几种创建方式
- HTML总结——1
- java内存区域与内存溢出异常
- 最好的在线Latex编辑器
- SQL可以正常用,但cmd启动不了mysql,报错[ERROR] unknown variable ;basedir=....问题
- 史上最全的架构师图谱
- 线程池的几种创建方式
- 第八章 使用Spring Web Flow
- pytorch tutorials运行
- Java换行符的简单讨论
- hdu 2460 Network
- c++中explicit关键字用法
- 【PAT甲级】1043. Is It a Binary Search Tree (25)——JAVA实现
- Hive典型应用场景之行列转换
- 怎么判断是不是堆序列