我有周期性的線程運行每一秒鐘並引用應用程序。問題是線程運行時CPU使用率上升,程序響應非常糟糕,看起來CPU風扇正在全功率運行。也許在這裏使用無限的時候會有問題。有沒有其他辦法可以做到這一點?線程並行於其他進程java
Runnable r1 = new Runnable() {
public void run() {
try {
while (connect.isDisable()){
refresher(rx);
Thread.sleep(1000L);
}
} catch (InterruptedException iex) {}
}
};
Thread thr1 = new Thread(r1);
thr1.start();
如果有一個替代的方式,功能thhis套運行平行於其他處理和事件處理程序的每一個響應secounds就像正常?
使用Timer或ScheduledExecutorService而不是讓線程進入睡眠狀態可能會更好。 「複習」是做什麼的?處理器密集? – bradimus
如果您使用的是Eclipse或類似的IDE,當您開始一個新的默認時,它不會結束一個進程,因此您可以同時運行大量相同代碼的實例並驅動您的風扇螺母。 –
@bradimus它從串口讀取一行並解析它,並用新數據更新應用程序中的圖表 –