Multithreading JavaFX多线程

Multithreading JavaFX多线程,multithreading,javafx,Multithreading,Javafx,我正在编写一个小程序,其中JavaFx充当查看器和控制器,让Java完成其他艰巨的工作。我可以从Javafx启动多个线程,但是,我无法阻止它们。如果尝试使用.stop(),则线程仍在运行 以下是其中之一: public var sleepTask_connect; function LogOutAction(): Void { sleepTask_connect.stop(); } function LogInAction(): Void { var listener = F

我正在编写一个小程序,其中JavaFx充当查看器和控制器,让Java完成其他艰巨的工作。我可以从Javafx启动多个线程,但是,我无法阻止它们。如果尝试使用.stop(),则线程仍在运行

以下是其中之一:

public var sleepTask_connect;

function LogOutAction(): Void {
    sleepTask_connect.stop();
}

function LogInAction(): Void {

   var listener = FXListener_interface_connection {
                override function callback(errorCode, errorMessage): Void {
                    //do something
                    if(errorCode != 200){
                        setIcn(errorMessage);
                        }
                }
            }
    sleepTask_connect = FXListener_connection {
                listener: listener
            };
    sleepTask_connect.start();

}

用于实现Java线程。有一种停止方法可以终止线程。以下是您如何使用它的一个示例。

我在使用JFXtras XWorker组件进行线程处理时运气更好。看


但是,一般来说,为了让线程响应取消/停止请求,您必须在“do something”部分检查代码中的canceled或stopped标志。例如,如果您的线程处于无限循环中,或者如果您只有一系列长时间运行的进程,则可以检查它们之间是否已取消/停止。或者,如果您的代码调用某些阻塞方法(如套接字或阻塞队列),那么当线程被取消时,这些方法中的大多数将抛出InterruptedException

我是这样做的。正如我所说,我可以启动线程,它们工作得很好。但是调用.stop()没有任何作用。