gpt4 book ai didi

java - java fx 检测线程是否正在运行

转载 作者:行者123 更新时间:2023-12-01 08:53:27 25 4
gpt4 key购买 nike

我尝试了三种方法,但没有一种能起作用。我从这篇文章的最佳答案中获取了很多代码How to know if other threads have finished?我非常密切地关注该列表中的#5。这是我的问题:从我的主线程中,我需要能够检测按下按钮时辅助线程是否正在运行。

第一种方法

NotifyThread task = null;

@FXML
private void handleButtonPress(ActionEvent event){
if (thread == null){
NotifyThread thread = new Thread2(1,0);
}
else{
//task is already running
thread.end()
}

上面代码的问题是线程始终为空。它不会结束现有线程,而是创建另一个并行运行的线程(不好)

第二种方法

if (thread.isAlive())

第三种方法

if(thread.getState.equals(RUNNABLE))

这两种方法都会给我带来运行时异常

最佳答案

你需要

  thread = new Thread2(1,0);

而不是

  NotifyThread thread = new Thread2(1,0);

关于java - java fx 检测线程是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42216892/

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