java如何在此上下文中使用interrupt()
如果run()还没有完成,并且被从外面召回,我需要先完成running shread
public class EnvTime extends Thread {
public void run() {
long step = 2000 / benvelope1.length;
while (!finished) {
for (int i = 0; i < benvelope1.length; i++) {
envOut = benvelope1[i];
try {
Thread.sleep(step);
} catch (InterruptedException benvelope1) {
benvelope1.printStackTrace();
}
}
}
}
}
所以我从另一个方法调用这段代码:
Env interpol;
interpol.interrupt(); //
interpol=new EnvTime();
interpol.start();
但这不管用
# 1 楼答案
现在还不清楚你想要实现什么,但是通过这样做
你可能会得到
NullPointerException
。如果你想让你的代码到达您需要确保线程在
try
块中,特别是在中断Thread.sleep
方法时换句话说,在中断线程之前,至少需要启动线程