您的位置:首页 > 其它

(12)21.2.5 并发 练习 6

2012-11-05 20:41 204 查看
[align=left]package jiangning.c21.ex;[/align]

[align=left]import java.util.Random;[/align]
[align=left]import java.util.concurrent.ExecutorService;[/align]
[align=left]import java.util.concurrent.Executors;[/align]
[align=left]import java.util.concurrent.TimeUnit;[/align]

[align=left]/**[/align]
[align=left] * Java编程思想 第四版 c21 并发 [/align]
[align=left] * 练习6:创建一个任务,它将睡眠1到10秒之间的随机数量的时间,[/align]
[align=left] * 然后显示它的显示时间并退出,创建并运行一定数量的这样任 务。[/align]
[align=left] *[/align]
[align=left] */[/align]
public class Exercise6 implements Runnable
{

[align=left] private int sleepTime ;[/align]
[align=left] public Exercise6(int sleepTime){[/align]
this.sleepTime =
sleepTime;
[align=left] }[/align]
[align=left] @Override[/align]
public void run()
{
[align=left] try {[/align]
[align=left] TimeUnit. MILLISECONDS.sleep(sleepTime );[/align]
[align=left] System. out.println("休眠时间长度=" + sleepTime);[/align]
} catch (InterruptedException
e) {
[align=left] e.printStackTrace();[/align]
[align=left] }[/align]
[align=left] }[/align]
public static void main(String[]
args) {
[align=left] ExecutorService exec = Executors. newCachedThreadPool();[/align]
for(int i=1;
i<10; i++){
[align=left] Random random = new Random();[/align]
[align=left] exec.execute( new Exercise6(random.nextInt(10)*1000));[/align]
[align=left] }[/align]
[align=left] Thread. yield();[/align]
[align=left] exec.shutdown();[/align]
[align=left] }[/align]
[align=left]}[/align]

[align=left]/**[/align]
[align=left] * 运行结果[/align]
[align=left]休眠时间长度=2000[/align]
[align=left]休眠时间长度=3000[/align]
[align=left]休眠时间长度=4000[/align]
[align=left]休眠时间长度=4000[/align]
[align=left]休眠时间长度=4000[/align]
[align=left]休眠时间长度=5000[/align]
[align=left]休眠时间长度=5000[/align]
[align=left]休眠时间长度=6000[/align]
[align=left]休眠时间长度=7000[/align]
[align=left] */[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: