原因:
存在死循環;
雖然分時操作系統是采用時間片的機制對CPU的時間進行管理的,也就是說到了一定時間它會自動從一個進程切換到下一個進程。但是,當進入別的進程后,若該進程告訴系統它現在不需要做什么,不需要那么多的時間,這個時候,系統就會切換到下一個進程,當切換到死循環所在進程后,由於它一直在循環,永遠告訴系統它有事情做(實質僅在死循環,沒做任何事),那么系統就盡可能的將其他進程省下了的時間讓它做死循環了,CPU占用不高才怪咧。
解決方法:
- 在死循環中添加“Thread.sleep(1);”,如下所示:
-
while(true) { if(進入條件) { //該模塊處理語句 } else { Thread.sleep(1); } }