gpt4 book ai didi

java - 仅通过一个操作停止一个线程

转载 作者:行者123 更新时间:2023-11-30 09:22:47 25 4
gpt4 key购买 nike

我有一个运行 Runnable 的线程,看起来像:

Runnable run = new Runnable() {
@Override
public void run() {
functionCall();
}

};
Thread thread = new Thread(run);
thread.start();

void functionCall() {
for (int i=0; i<1000000; i++) System.out.println(i);
}

无论如何我都想阻止它。我试过使用 thread.interrupt() 但我无法让它工作,因为 functionCall() 方法并不真正取决于我(我不知道那个函数里面有什么,这只是一个例子)。

据我所知,每个人都使用一个 volatile boolean 变量来检查它,但是这个线程只执行一次,所以这并不是我真正需要的。

最佳答案

Thread.interrupt() 要求被调用的线程将控制权交给操作系统(用于 IO 访问、 sleep 等)。因此,为了使用它,您需要确保您的线程执行此操作(即不仅仅是计算)。参见 this JavaSpecialists进入了解更多信息。

关于java - 仅通过一个操作停止一个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334619/

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