线程池

来源:互联网 发布:sql语句查询所有表 编辑:程序博客网 时间:2024/06/05 15:04

线程池:实现一个pool,预先一个list有若干个thread;做getThread,与repoolThread;实现一个Thread类,接受Runnable,平时wait(this),一旦enable时,notify(this);调用时实现一个Runnable的对象,传给pool,由Thread类接收run。

Executor框架:

位于java.util.concurrent并发包中,是一个线程池工厂,分别有工厂方法:

newFixedThreadPool(n) :返回一个固定数量的线程池,若有空闲,task就跑,否则进入等待队列;

newCachedThreadPool:返回一个可以根据实际情况调整大小的线程池;

newSingleThreadExecutor:返回只有一个线程的线程池,多个task进入队列,在空闲时根据先入先出的顺序取得线程。

newSingleThreadScheduledExecutor,newScheduledThreadPool扩展了定时,周期性功能。

这些线程池均是对ThreadPoolExecutor的一个封装,在默认的ThreadPoolExecutor中,提供了beforeExecutor与afterExecutor,可以做现在的开始于收尾的事。


 

原创粉丝点击