【发布时间】:2013-12-11 19:09:16
【问题描述】:
我有以下代码:
renderThread = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10000000; i++) {
System.out.println("Number: " + i);
}
}
});
renderThread.start();
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
renderThread.interrupt(); //It should stop, but it does not stop.
renderThread.interrupt() 不会中断线程,它会继续运行。如果我用.stop() 替换renderThread.interrupt(),那么线程就会停止。但是,.stop() 已被弃用。
那么,如果 stop 已被弃用且 interrupt 不起作用,那么停止线程的正确方法是什么?
【问题讨论】:
-
为什么你认为调用
interrupt会停止线程`? -
@SotiriosDelimanolis 因为通俗地说,“打断某事”和“停止某事”是同义词.. 我不是说它是 所做的 (文档很好开始展开假设的地方),但名称已加载。
标签: java multithreading