2017-02-14 25 views
0

私は3つのアプローチを試みましたが、何もできませんでした。私はこのポストへのトップの回答から多くのコードを取りましたHow to know if other threads have finished?私はそのリストの#5をかなり近づけました。私の主なスレッドから、ボタンが押されたときにセカンダリスレッドが実行されているかどうかを検出できる必要があります。スレッドがJava fxで実行されているかどうかを検出

第一のアプローチ

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

上記のコードの問題は、スレッドが常にnullであるということです。代わりに、第三のアプローチは

if(thread.getState.equals(RUNNABLE)) 

if (thread.isAlive()) 

(悪い)第二のアプローチを、それが一緒に走る別のものを作成し、既存のスレッドを終了するこれらの方法のいずれもが私に

答えて

1

を実行時例外を与えますあなたが必要です

thread = new Thread2(1,0); 

の代わりに

NotifyThread thread = new Thread2(1,0); 
+0

良いキャッチ。私は彼がNotifyingThread thread1 = new OneOfYourThreads()を行うと言った場所に投稿したリンクを外していました。 –

関連する問題