java——多线程管理(concurrent包)

先上两张图,左边一个是concurrent包下的全部接口,右边是该包下的全部类,其实咱们常常用到的接口和类都是少数的,接下来将具体介绍。函数

1. 经常使用的接口ui

Callable: 一个带有返回值的线程接口spa

Future:用来接收返回值的一个泛型的接口,提供了cancle终止线程的操做线程

Executor:具体Runnable任务的执行者blog

ExecutorService:一个线程池的管理者,能够对Runnable和Callable任务进行调度接口

BlockingQueue:阻塞队列队列

2. 经常使用的类资源

(1) Executors:用来建立线程池的操做后台

Executors.newFixedThreadPool(n):建立固定大小的线程池泛型

Executors.newCachedThreadPool():建立无界线程池,能够自动的对空闲的(超过60s未使用)线程进行回收和利用

Executors.newSingleThreadExecutor():单个后台线程,能够保证各个任务按照顺序来执行,同一个时间内不会有多个线程是活动的。

(2) Semaphore:一个统计信号量,用来限制能够访问某些资源的线程数目。

使用acquire()函数来占用一个资源

使用release()函数来释放一个资源

 

未完待续。。。。

相关文章
相关标签/搜索