簡體   English   中英

Java中的計時器與線程原語

[英]Timer vs Thread primitive in Java

有沒有人觀察到創建一個在Thread.sleep(t)的while(true)循環中運行的線程似乎比在Java中創建t的喚醒定時器消耗更多的CPU? 有JVM專業知識的人都知道為什么會這樣嗎? 我只在Windows和Linux x86上真正嘗試過。

根據Timerdoc類Javadoc ,有一個后台線程可以完成工作:

與每個Timer對象相對應的是一個單獨的后台線程,該線程用於依次執行所有Timer的任務。 計時器任務應快速完成。 如果計時器任務花費過多時間來完成,它將“占用”計時器的任務執行線程。 反過來,這可能會延遲后續任務的執行,這可能會“累加”並在有問題的任務最終完成時(以及是否)迅速連續執行。

您如何觀察CPU使用率? 您是否嘗試過JVM Profiler?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM