実行中のコード/コンピュータ全体を1秒の遅延(1つの小さなループ)だけ遅らせることなく、whileループを1秒間隔に遅延させる方法を教えてください。Java遅延/待機
答えて
Thread.sleep(1000); // do nothing for 1000 miliseconds (1 second)
これはスクリプト/コンピュータ全体を一時停止しませんか? –
これは、このコードが実行されている特定のスレッドを一時停止するだけです。あなたのコンピュータは冷凍されません。 –
あなたがその新しいThread
にこのコードを置くことができ、これを克服するために、あなたのループは、メインスレッド上で動作し、あなたがそのスレッドにsleep
を行う場合(一時停止されている唯一のスレッドがあるので)それはアプリを一時停止するようですJigarは、あなたが独立して、他のスレッドの動作可能仕事、睡眠などを行うために、別のスレッドを使用することができます示したように並列
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
//do stuff
}
これは完全に動作します – ERJAN
実行されます。 java.util.Timer
クラスは、マルチスレッドプログラミングを受けることなく、定期的なタスクを実行できるので、同様に役立ちます。
ループを遅らせる簡単な方法です。
私はすでにここにコードを入れて、stackoverflowの標準に従わなかった。
//1st way: Thread.sleep : Less efficient compared to 2nd
try {
while (true) {//Or any Loops
//Do Something
Thread.sleep(sleeptime);//Sample: Thread.sleep(1000); 1 second sleep
}
} catch (InterruptedException ex) {
//SomeFishCatching
}
//================================== Thread.sleep
//2nd way: Object lock waiting = Most efficient due to Object level Sync.
Object obj = new Object();
try {
synchronized (obj) {
while (true) {//Or any Loops
//Do Something
obj.wait(sleeptime);//Sample obj.wait(1000); 1 second sleep
}
}
} catch (InterruptedException ex) {
//SomeFishCatching
}
//=============================== Object lock waiting
//3rd way: Loop waiting = less efficient but most accurate than the two.
long expectedtime = System.currentTimeMillis();
while (true) {//Or any Loops
while(System.currentTimeMillis() < expectedtime){
//Empty Loop
}
expectedtime += sleeptime;//Sample expectedtime += 1000; 1 second sleep
//Do Something
}
//===================================== Loop waiting
私は3番目の方法が好きです。なぜなら、それはCPUコア全体を阻害する可能性があり、誰もこれをコードのにおいと呼ぶことはないからです。 – Tom
- 1. 待機中のバックグラウンドWorkItemの遅延
- 2. Java - 特定のブロックで遅延/待機を行う方法
- 3. Javaソケット遅延
- 4. 遅延非同期関数の待機(beforeunloadイベント)
- 5. 遅延javascriptのデモ機能
- 6. PHPメール機能遅延
- 7. Jquery遅延タイムアウト機能?
- 8. Arduino作成遅延機能
- 9. enumインスタンスのJava遅延ロード
- 10. Javaプログラムのイベント遅延
- 11. Javaでの遅延印刷
- 12. Java遅延メソッドの実行
- 13. RxJava遅延オブザーバブルの遅延
- 14. スレッドの遅延 - 遅延
- 15. Javaタイマーの遅延が正しく機能しない
- 16. Androidタイマータスクはスケジュールされた遅延時間を待機しません
- 17. 待機していないタイプスクリプトを使用したjavascript/jQuery検索の遅延
- 18. Entity Framework - 遅延読み込みまたは追加の非同期/待機クエリメソッド?
- 19. 遅延/スリープ/待機を設定する各動作でノード内で実行
- 20. 角度の約束の遅延が期待通りに機能しない
- 21. 待機と待機の同期メソッド(java)
- 22. jQuery遅延機能付きドロップダウンメニュー
- 23. 即時非同期機能の遅延
- 24. 私の機能の遅延のトラブルシューティング
- 25. ガベージコレクタと遅延機能の衝突?
- 26. jQuery:通知機能付きタイムアウト/遅延?
- 27. パニックと遅延機能の処理
- 28. シャットダウン機能前のPHPプロファイリングの遅延
- 29. cakephp simpletestウェブテスター遅延/スリープ機能
- 30. グループによるオラクル遅延機能by
_without私はMinecraftのプラグインの1秒間隔でこのwhileループを遅らせるしようとしている@JigarJoshiこの –
手の込んだcode_全体を減速。しかし、waitメソッドの大部分は、一定時間だけwhileループを実行し、再び固定遅延で実行したい場合は、ループ –
ではなく、設定された時間だけサーバー全体を一時停止します。 –