2011-12-11 10 views
0

私はJavaの無限ループを行う必要がありますが、1つのループは24時間続くでしょう。それを行う最善の方法は何ですか?どうすればそれを殺すことができますか?それを一時停止し、再開しますか?Java Infinite非常に長いループ

+0

スレッドについて – bingjie2680

+5

何が文脈であり、特に何をしようとしていますか? – dimitrisli

+2

ループが24時間後に終了する必要がある場合は、無限にすることはできません。または、ループの1回の実行に24時間かかり、その後無限に実行されますか?したがって、1週間に7ループの繰り返しがありますか? – danludwig

答えて

0

おそらくwhileループで、ループ状態の経過時間をチェックしますか?しかし、ループ本体が短い場合、これはかなり高価になるかもしれません。

2

あなたはこの方法でTimerクラスを使用することができます。

void schedule(TimerTask task, Date firstTime, long period) 
0

どのようにちょうど24時間寝てはどうですか?

Thread.sleep(24*60*60*1000); 
0

「私は、Javaの無限ループをしなければならないが、1つのループが24時間続くでしょう。」で述べたように、ループが大きくてもその無限でない場合は、いくつかの時点で終了している場合。だから、あなたは無限ループのみを意味するのでしょうか、またはループは24時間終了しますか?シンプルな無限ループが

do{ 
    //do your stuff 
} while (true); 
0

であるあなたの質問は本当にあなたがやろうとしているかを説明しませんが、私はあなたで動作するようにいくつかのツールを提供しようとします。

単一ループまたは所定量のループを非同期に実行するには、Threadsで必要なものを達成することができます。

同時に実行できるタスクの数など、さらに多くの制御が必要な場合は、Thread Poolの実装を使用できます。これは、起動する必要のあるタスクの数がわからず、メモリ使用を制限する必要がある場合に特に役立ちます。

こちらがお役に立てば幸いです。

関連する問題