私はスレッドを以下のように拡張するクラスを持っていますが、実行するかどうかを決定するためにチェックするvolitileブール値フィールドが必要です。 shouldRun()メソッドは、私のGUIのEDTから呼び出されます。volatile booleanを使用してスレッドを実行するかどうかをチェックする方法(Java)
ブール値をチェックして、GUIのイベントディスパッチャスレッドから実行するか待機するかを知るにはどうすればよいですか?一般的に
public class RobotThread extends Thread{
public volatile boolean run;
//if running == true, let thread run
//if running == false, invoke wait() somehow;
public RobotThread(AutoClicker autoClicker) {
super(autoClicker);
run = true;
}
public void setRun(boolean shouldRun) {
this.run = shouldRun;
}
public boolean getRun() {
return run;
}
}
、私は()を待ってから、ボタンと私のGUIのイベントディスパッチャスレッドから再起動するには、このスレッドを取得できるようにしたいです。これを行うためのより良い方法があれば、私もそれを聞いて嬉しいです。前もって感謝します!
EDTからどのように再起動しますか?それはユーザーの行動ですか、何ですか? EDTとは何ですか?あなたのスレッドが実行されるのを待っていますか?スレッドの同期を処理する一般的な方法は、同期オブジェクトを使用することです。あなたはこのhttp://tutorials.jenkov.com/java-concurrency/synchronized.htmlを開始するためにチェックすることができます –