ホームページ >Java >&#&チュートリアル >Java で正確な遅延を実装するにはどうすればよいですか?
Java 遅延の実装
Java では、指定された期間の遅延を作成することがさまざまなシナリオで不可欠です。この記事では、遅延とその影響を実装する手法について説明します。
提供されたコード スニペットは、while ループを利用して配列を反復処理し、各アクション間に遅延が意図されている要素を選択および選択解除します。これを実現するために、Java プラットフォームはいくつかのオプションを提供します。
java.util.concurrent.TimeUnit Sleep
TimeUnit クラスは、SECONDS.sleep(1) などのメソッドを提供して、特定の期間実行を一時停止します。ただし、各実行にはわずかな時間の変動があるため、このアプローチではドリフトが発生します。
ScheduledExecutorService
より柔軟で正確な制御を行うには、ScheduledExecutorService の方が適しています。事前に定義された間隔でタスクを定期的に実行するための、scheduleAtFixedRate メソッドとscheduleWithFixedDelay メソッドをサポートしています。
実装例
ScheduledExecutorService (Java 8) を使用して 1 秒ごとにタスクを実行するには、次のようにします。
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
Java 7実装
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { myTask(); } }, 0, 1, TimeUnit.SECONDS);
このメソッドにより、タスクが正確な間隔で実行され、ドリフトの問題が回避されます。
以上がJava で正確な遅延を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。