线程为何不能重进入?

zhongyuan 2002-02-25 05:08:03
当我第二次调用Test.useIt(), 新线程就不工作了。为什么呢?有什么办法吗?
(我不想每次都new 一个新线程)

class ImpleRunnable implements Runnable {
...
public void run() {
...
}
}

class Test {
...
Thread thread;
void useIt() {
if (thread == null)
thread = new Thread(this);
thread.start();
}
}

...全文
7 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
java_new 2002-02-25
线程退出后,状态转为dead,不能重新进入了
只能防止它退出
回复
camry_camry 2002-02-25
贴出详细一些的代码,这一点看不太懂。
回复
lun2001 2002-02-25
当线程执行完后就自动消失
你可以在线程中加入while(1)
防止线程退出

还可以用list、ventor等保存对象
回复
gdsean 2002-02-25
不需要重复进入
在工作完成后sleep,然后再进入while循环里面
回复
gdsean 2002-02-25

在run里面
while(true){
工作
if(exitFlag){
break;//退出
}
}
想结束线程把exitFlag设为true
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-25 05:08
社区公告
暂无公告