私はすでに言及したように、私はプログラミングの世界ではかなり新しいです。 私は現在、実行可能な問題に直面しています。ブール・シャットダウンの状態を確認するとき、コードは30秒ごとに実行されるのではなく、常時実行されています。これまで マイコード:Java - 実行可能な混乱
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TestClass {
static boolean shutdown;
public static void main(String[] args) {
notify(30);
}
private static void notify(int num) {
Runnable runner = new Runnable() {
public void run() {
while(!shutdown){
System.out.println("running");
}
}
};
ScheduledExecutorService exec = Executors.newScheduledThreadPool(1);
exec.scheduleAtFixedRate(runner, 0, num, TimeUnit.SECONDS);
}
}
編集:私はブールシャットダウンを使用している理由です、実行中から方法を停止するために何とかする必要があります。
whileループを削除します。 – beatngu13
@ beatngu13実際には私はwhileループが必要です。何とか実行を止めたいからです。だから私はそれが実行する必要があるかどうかを制御するブール値を得ることを考えました。 –
Executorサービスは30秒ごとに 'run()'を呼び出し、メソッドの終わりに達すると自動的に実行を停止します。あなたがしようとしていることではありませんか? – beatngu13