线程为何不能重进入?

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();
}
}

...全文
27 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

23,405

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧