Java 延遲實作
在 Java 中,創建指定持續時間的延遲在各種場景中都是必不可少的。本文探討了實現延遲的技術及其意義。
提供的程式碼片段利用 while 迴圈來迭代數組,選擇並取消選擇每個操作之間具有預期延遲的元素。為了實現這一點,Java 平台提供了幾個選項:
java.util.concurrent.TimeUnit Sleep
TimeUnit 類別提供了像SECONDS.sleep(1)這樣的方法來暫停執行一段特定的時間。然而,這種方法會引入漂移,因為每次執行都有輕微的時間變化。
ScheduledExecutorService
為了獲得更大的靈活性和精確的控制,ScheduledExecutorService 是更好的選擇。它支援scheduleAtFixedRate和scheduleWithFixedDelay方法以預先定義的時間間隔定期執行任務。
範例實作
使用ScheduledExecutorService(Java 8)每秒執行一個任務:
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中文網其他相關文章!