package jiangning.c21.ex;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
* Java编程思想 第四版 c21 并发
* 练习6:创建一个任务,它将睡眠1到10秒之间的随机数量的时间,
* 然后显示它的显示时间并退出,创建并运行一定数量的这样任 务。
*
*/
public class Exercise6 implements Runnable
{
private int sleepTime ;
public Exercise6(int sleepTime){
this.sleepTime =
sleepTime;
}
@Override
public void run()
{
try {
TimeUnit. MILLISECONDS.sleep(sleepTime );
System. out.println("休眠时间长度=" + sleepTime);
} catch (InterruptedException
e) {
e.printStackTrace();
}
}
public static void main(String[]
args) {
ExecutorService exec = Executors. newCachedThreadPool();
for(int i=1;
i<10; i++){
Random random = new Random();
exec.execute( new Exercise6(random.nextInt(10)*1000));
}
Thread. yield();
exec.shutdown();
}
}
/**
* 运行结果
休眠时间长度=2000
休眠时间长度=3000
休眠时间长度=4000
休眠时间长度=4000
休眠时间长度=4000
休眠时间长度=5000
休眠时间长度=5000
休眠时间长度=6000
休眠时间长度=7000
*/