package com.example.demo.wxyDemo;
import java.util.concurrent.*;
/**
* 線程池示例:溢出隊列拋異常
*/
public class ThreadDemo {
public static void main(String[] args) {
ExecutorService threadPool = new ThreadPoolExecutor(10,10,60, TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(5));
for(int i = 0;i < 100;i++){
try{
threadPool.execute(new MyTask(i));
}catch (Exception e){
System.out.println("異常線程:"+i);
}
}
}
public static class MyTask implements Runnable {
private int i ;
public MyTask(int i){
i= i;
}
@Override
public void run() {
System.out.println("我是線程"+i);
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
//
}
}
}
}
總結:運行結果分析,當i=15時,開始輸出異常線程