package multiThread;
/*
* 简单多线程程序 实现runnable 接口中的run方法即可
* 这个相当于多线程的任务处理类,主要是负责顺序处理某个任务
*/
public class LiftOff implements Runnable {
protected int countDown=10;
private static int taskCount=0;
private final int id=taskCount++;
public LiftOff(){}
public LiftOff(int countDown){
this.countDown=countDown;
}
public String status(){
return "#"+id+"("+(countDown>0? countDown:"LiftOff!")+"),";
}
public void run(){
while(countDown-->0){
System.out.println(status());
Thread.yield();
}
}
}
//1、任务的执行结果
LiftOff liftOff=new LiftOff();
liftOff.run();
//2、利用Thread来执行任务
Thread thread=new Thread(new LiftOff());
thread.start();
System.out.println("Watting for the lifting off!");
//3、增加多个线程
for(int i=0;i<5;++i){
new Thread(new LiftOff()).start();
}
System.out.println("Watting for lifting off!");
//4、使用Executor
//ExecutorService executorService=Executors.newCachedThreadPool();
ExecutorService executorService=Executors.newFixedThreadPool(4);
for(int i=0;i<5;++i){
executorService.execute(new LiftOff());
}
executorService.shutdown();