如果线程尚未运行,如何终止线程?

时间:2014-02-02 18:01:30

标签: java multithreading terminate

我的程序启动一个线程是否创建了一些对象。

Foo() {
   t = new Thread(this);
   t.start();
}

我正在线程中运行一些while循环。

while(bool){
   // do something
}

我有一个线程控制布尔bool的值。但是,在我的其他线程更改布尔值之前,如何终止其中一些?我认为设置t = null不起作用。有没有办法在线程停止运行之前对其进行垃圾收集?

1 个答案:

答案 0 :(得分:1)

将循环更改为

while (bool && !Thread.interrupted()) {
    // do something
}

如果要停止该线程,请致电

t.interrupt();
祝你好运。