![](/img/trans.png)
[英]javax.swing.Timer vs java.util.Timer inside of a Swing application
[英]javax.swing.Timer vs java.util.Timer
我聽說只有在Iam實際構建Swing GUI
才能使用所有javax.swing
類。 我想在沒有GUI
情況下使用javax.swing.Timer
來創建定時器循環。 這是否意味着沒有GUI我應該使用java.util.Timer
?
沒有GUI
使用javax.swing.Timer
是大錯誤嗎? 它會導致一些性能錯誤或減速嗎?
有什么方法可以創建一個被動運行或不停止主線程的循環?
提前致謝!
沒有GUI使用javax.swing.Timer是大錯誤嗎? 它會導致一些性能錯誤或減速嗎?
不,這不是一個大錯誤。 但是,如果應用程序中沒有運行non-daemon
線程,則不會觸發與javax.swing.Timer
關聯的ActionEvents
。 如果應用程序中沒有運行non-daemon
線程,則程序將正常退出而不使javax.swing.Timer
執行關聯的actionPerformed
方法。 但GUI會導致JVM掛起並讓Timer
執行actionPerformed
方法。
如果您不使用GUI,請確保在應用non-daemon
運行了一些non-daemon
線程。
有什么方法可以創建一個被動運行或不停止主線程的循環?
您可以使用java.util.Timer
來實現此目的。 但是現在java.util.concurrent
提供了許多豐富的API來執行並發任務。 因此,現在您應該為此目的轉到ScheduledExecutorService
API。
是的,不推薦它,因為它是您需要的另一個依賴項。
您應該嘗試盡可能少的依賴項。 如果java.util.Timer
滿足您的需求,您一定要選擇這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.