package jiangning.c21.ex;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Java编程思想 第四版 c21 并发
* 练习3:实现一个Runnable,在run()内部打印一个消息,
* 然后调用yield(),重复这个操作3次,然后从run中返回。
* 在构造其中放置一条启动消息,并且放置一条在任务终止
* 时的关闭消息,使用线程创建大量的这种任务并驱动它们。
* @author JiangNing
* 2012.10.5
*
*/
public class ExerciseThree implements Runnable
{
private int count ;
public ExerciseThree(){}
public ExerciseThree(int count){
this.count =
count;
System. out.println("Start
ExerciseOne " + count);
}
@Override
public void run()
{
for(int i=0;
i<3; i++){
System. out.println( count +"
进入run() 方法 " +i);
Thread. yield();
}
System. out.println("end
" + count);
}
public static void main(String[]
args) {
ExecutorService exec = Executors. newCachedThreadPool();
for(int i=0;
i<5; i++){
exec.execute( new ExerciseThree(i));
}
exec.shutdown();
}
}
/**
* 运行结果
Start ExerciseOne 0
Start ExerciseOne 1
Start ExerciseOne 2
Start ExerciseOne 3
0 进入run() 方法 0
1 进入run() 方法 0
2 进入run() 方法 0
Start ExerciseOne 4
1 进入run() 方法 1
0 进入run() 方法 1
2 进入run() 方法 1
3 进入run() 方法 0
4 进入run() 方法 0
1 进入run() 方法 2
3 进入run() 方法 1
end 1
0 进入run() 方法 2
2 进入run() 方法 2
3 进入run() 方法 2
4 进入run() 方法 1
end 3
end 0
end 2
4 进入run() 方法 2
end 4
*/
本文介绍了一个Java并发编程实例,通过实现Runnable接口,演示了如何在一个线程池中启动多个任务,每个任务在run()方法内执行特定操作,包括打印消息、调用yield()方法以及在结束时输出关闭信息。本文提供了完整的代码实现及运行结果,帮助读者理解Java并发编程的基本概念和应用。

被折叠的 条评论
为什么被折叠?



