1.Java并发之-------单线程单任务进行运行
结果如上图所示:
跟入代码如下:
具体实现如下所示:
对比之前的并发就可以理解了,详细代码如下所示:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CachedThreadPool {
public static void main(String[] args){
ExecutorService exec= Executors.newSingleThreadExecutor();//使用有限线程去调度,使用优先级高,耗资源的先进行调用。
for (int i=0;i<5;i++){
exec.execute(new LiftOff());
}
exec.shutdown();
}
}
public class LiftOff implements Runnable{
protected int CountDown =10;//3
private static int taskcount=0;//1
private final int id=taskcount++;//4
public LiftOff(){}//2
public LiftOff(int CountDown){
this.CountDown=CountDown;
}
public String status(){ //判断条件以及验证状态
return "#"+id+"("+(CountDown>0?CountDown:"liftOff!")+")";
}
public void run(){ //执行
while (CountDown-->0){//将CountDown进行自减操作:
System.out.println(status());
Thread.yield();
}
}
}