繁体   English   中英

即使线程尚未完成运行,如何终止它?

[英]How to terminate a thread even if it has not finished running?

无论是否创建了一些对象,我的程序都会启动一个线程。

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

而且我正在线程内运行一些while循环。

while(bool){
   // do something
}

我有一个线程控制布尔布尔值。 但是,如何在其他线程更改布尔值之前终止其中的一些? 我认为设置t = null无效。 有什么办法可以在线程停止运行之前对其进行垃圾回收?

将循环更改为

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

当您想停止线程时,请致电

t.interrupt();

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM