import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolDem01 {
public static void main(String[] args) {
ExecutorService pool=Executors.newFixedThreadPool(2);
Run r1=new Run("A");
Run r2=new Run("B");
Run r3=new Run("C");
Run r4=new Run("D");
Run r5=new Run("E");
/*
* 每次只执行两次
* 会按照添加的顺序执行
* 要注意的r5执行完之后不会停止,因为可能会有其他的线程在执行
* 所以线程池比较耗能
*/
pool.execute(r1);
pool.execute(r2);
pool.execute(r3);
pool.execute(r4);
pool.execute(r5);
pool.shutdown();
}
}
class Run implements Runnable{
private String name;
public Run(String name) {
this.name=name;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=1;i<=10;i++) {
System.out.println(name+":"+i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}