Linux 解決多線程大量占用CPU


---恢復內容開始---

說明:經過一段時間的分析,結合程序優化的百度經驗,終於發現自己程序中的線程實現的不足之處。

多線程

     多線程是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統的效率。

問題描述

1、程序(linux環境下)運行自己寫的線程之后,程序卡頓

2、查看程序(linux環境下)運行資源消耗 top命令,CPU占用率達到了98%

 

 問題分析

1、反復查看線程中程序執行步驟,並沒有高耗CPU的操作

2、查看程序優化的百度經驗,優化一些算法,但也不能CPU占用率達到98%

3、最后多次查看線程概念、原理得出結論:

      線程就是一個死循環,線程要有跳出語句,要預留出其他程序的運行的時間片

解決:

while(1)中加入sleep(),防止一直占用CPU

 

 

 

 

 

 

 

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM