イムはかなり新しいJavaで、私はそれに直面する必要があるという問題があります。私がこれを行う場合:スケジュールされたすべてのタスクが終了した後に何かを行うには?
//somecode
double number=0;
Timer timer = new Timer();
timer.schedule(new someFunction(),0,1);
このスケジュールが完了した後で、何か他のことをすることができますか?
私はこれがしようとした場合:
//somecode
double number=0;
Timer timer = new Timer();
timer.schedule(new someFunction(),0,1);
number=1;
数の変化は、タスクの終了前に発生します。これを解決する方法はありますか?
import java.util.Timer;
import java.util.TimerTask;
public class Main {
public static void main(String[ ] args) {
class SomeTask extends TimerTask {
private double someVariable;
public SomeTask(double someVariable){
this.someVariable=someVariable;
}
public void run() {
while(this.someVariable<10){
this.someVariable++;
System.out.println(this.someVariable);
}
this.cancel();
}
}
boolean allTaskDone=false;
double someVariable=0;
Timer timer = new Timer();
timer.schedule(new SomeTask(someVariable),0,1000);
allTaskDone=true;
System.out.println(allTaskDone);
}
}
出力は次のとおりです:
true
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
どのように私は、タスクがcompleatedされた後allTaskDoneが評価されることができます私は私の質問を良く公開するために、機能のコードを書きましたの?言い換えれば、次のようなことを起こしてください。
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
true
ありがとうございました!
スケジュールされたタスクのすべての後ですか?またはスケジュールされたタスクのたびに? –
有効な[mcve]はあなたのコードとあなたの質問を明確にするのに役立ちます。 –
私はあなたの問題を正しく理解していれば、あなたはあなたの作品をシリアライズしています。タイマーは単なる気晴らしです。最初の質問に答える – efekctive