amp@java

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  99 随笔 :: 0 文章 :: 228 评论 :: 0 Trackbacks
刚刚才知道,原来Java的线程是不能重启的,也就是说,当线程的run()方法执行到最后一行,退出之后,这个线程就结束了,不能再通过start()方法重启启动这个线程,只能重新构造一个线程对象,再调用其start()方法来启动,但这个对象和原来那个对象已经不同了。
为了实现某个线程对象的“重启”功能,可以在它的run()方法的最外层加上一个循环语句:
1 public void run(){
2   while(!stop){
3     //do something
4   }
5 }

这样,只要stop不为true,run()方法就不会结束,不断地“重启”。
如果run()方法里面还有一个循环,那么就要两个停止标志:
1 public void run(){
2   while(!stop){
3     //do something
4     while(!stop && !restart){
5       //do other thing
6     }
7   }
8 }
9 
这样,如果需要“重启”线程,只要把restart设为true即可,如果要退出线程,只要把stop设为true即可。
posted on 2008-04-22 10:56 amp@java 阅读(4177) 评论(0)  编辑  收藏 所属分类: Java common

只有注册用户登录后才能发表评论。


网站导航: