gpt4 book ai didi

java - 如何在这种情况下使用interrupt()

转载 作者:行者123 更新时间:2023-12-01 15:40:52 26 4
gpt4 key购买 nike

如果 run() 尚未完成并从外部调用,我需要首先完成正在运行的线程。

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();

但这不起作用...

最佳答案

目前尚不清楚您想要实现什么目标,但通过这样做

Env interpol;

interpol.interrupt(); //

您可能会得到一个NullPointerException。如果您希望您的代码达到

} catch (InterruptedException benvelope1) {
...
}

您需要确保线程位于 try block 中,特别是在中断它时位于 Thread.sleep 方法中。

换句话说,您至少需要在中断线程之前启动线程

关于java - 如何在这种情况下使用interrupt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8048056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com