猿问
如何在Java中杀死线程?
如何在Java中杀死线程?
你怎么杀死一个
java.lang.Thread
在爪哇?
慕沐林林
浏览 1655
回答 4
4回答
慕码人8056858
看这个关于他们反对的原因Thread.stop()..它详细介绍了为什么这是一个糟糕的方法,以及应该做什么来安全地停止线程在一般情况下。他们推荐的方法是使用一个共享变量作为标志,它要求后台线程停止。然后,该变量可以由请求线程终止的另一个对象设置。
0
0
0
人到中年有点甜
通常你不.。你让它打断它所做的一切中断()(javadoc链接)对为什么在javadoc中的一个很好的解释这里(java Technote链接)
0
0
0
PIPIONE
在Java中,线程不会被杀死,但是线程的停止是在合作方式..线程被要求终止,然后线程可以优雅地关闭。经常是volatile boolean字段用于线程在将其设置为相应值时定期检查和终止的字段。I 不会用boolean检查线程是否应该终止..如果你用volatile作为字段修饰符,这将工作可靠,但如果代码变得更加复杂,则可以在while循环,它可能会发生,您的代码将不终止完全或至少需要更长时间如你所愿。某些阻塞库方法支持中断。每个线程都有一个布尔标志。中断状态你应该好好利用它。它可以这样实现:public void run() { try { while (!interrupted()) { // ... } } catch (InterruptedException consumed) /* Allow thread to exit */ }}public void cancel() { interrupt(); }源代码改编自Java并发在实践中的应用..因为cancel()方法是公共的,您可以让另一个线程按需要调用此方法。
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答