休眠
Java编程思想
并发
练习6:创建一个任务,它将睡眠1至10秒之间的随机数量的时间,然后显示它的睡眠时间并退出,创建并运行一定数量的这种任务。
import java.util.concurrent.TimeUnit;
public class Sleep implements Runnable{
protected static int times = 0;
public Sleep() {
}
public Sleep(int times) {
this.times = times;
}
public void sleep(){
try {
System.out.print("我要睡一会儿觉");
int sleepTime = (int)(Math.random()*10000);
TimeUnit.MILLISECONDS.sleep(sleepTime);
System.out.println(" 我睡了"+sleepTime/1000+"秒");
}catch(InterruptedException e) {
System.out.println("Interrupted");
}
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<times;i++) {
sleep();
}
System.out.println("我睡了"+times+"次");
}
}
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class TestSleep {
public static void main(String[] args) {
ExecutorService exec = Executors.newCachedThreadPool();
exec.execute(new Sleep(3));
exec.shutdown();
}
}
虽然写的不太恰当,嗯,就这样吧。
还没有评论,来说两句吧...