自定义线程池,代码如下:
public class ThreadExtend_Pool_Custom extends Thread {
private String name;//线程的名字
public ThreadExtend_Pool_Custom(String name){
this.name=name;
}
@Override
public void run(){
System.out.println(Thread.currentThread().getName()+"正在执行......");
try {
Thread.sleep(100L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String args[]){
//创建等待队列
BlockingQueue<Runnable> blockingQueue=new ArrayBlockingQueue<Runnable>(20);
/**
* 创建一个单线执行任务,它可安排在给定延迟后运行命令或者定期地执行
* corePoolSize -池中所保存的线程数,包括空闲线程
* maximumPoolSize -池中允许的最大线程数
* keepAliveTime -当线程数大于核心时,此为终止前多余的空闲线程等待新任务的最长时间
* unit -keepAliveTime参数的时间单位
* orkQueue -执行前用于保持任务的队列。此队列仅保持由execute方法提交的Runnable任务
*/
ThreadPoolExec