JavaFX Multi Threading - PullRequest
       3

JavaFX Multi Threading

0 голосов
/ 25 июня 2010

Я пишу небольшую программу, в которой 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();

}

Ответы [ 2 ]

1 голос
/ 04 августа 2010

Мне повезло больше с компонентом JFXtras XWorker для многопоточности.См. http://jfxtras.googlecode.com/svn/site/javadoc/release-0.6/org.jfxtras.async/org.jfxtras.async.XWorker.html.

Однако в целом, чтобы ваш поток отвечал на запросы отмены / остановки, вы должны проверять флаг отмены или остановки в своем коде во время раздела «что-то сделать».Это работает, если ваш поток, например, находится в бесконечном цикле, или если у вас просто есть серия длительных процессов, вы можете проверить, отменены ли они или остановлены между ними.В качестве альтернативы, если ваш код вызывает какой-либо метод блокировки (например, сокеты или очередь блокировки), тогда большинство из них будет генерировать исключение InterruptedException при отмене потока.

1 голос
/ 28 июня 2010

Используйте JavaTaskBase для реализации вашего потока Java. Существует метод остановки, чтобы убить поток. Вот пример того, как вы его используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...