簡體   English   中英

是否有必要明確限制線程數

[英]is it necessary to explicitly limit the number of threads

運行多線程應用程序時,是否有必要明確指定用於該應用程序的最大線程數,或者Linux將自行管理該線程? 如果Linux單獨處理它,那么我希望它是“社交的”,從某種意義上說,CPU是在所有用戶之間分配的。 但是也許我錯了嗎?

某些系統具有系統可以應付的最大線程數,但是大多數系統在發生這種情況之前僅會用盡某種內存。

如果您的線程“做得不多”,那么您可能會擁有任意多的線程(盡管處理數千個線程可能會導致運行速度變慢,這僅僅是因為不時地,系統將不得不“遍歷”每個線程。系統)。 如果您的線程在計算等方面比較繁瑣,那么對系統中的其他進程來說“很不錯”,以便為這些進程保留一些備用的CPU容量。

因此,這確實不是一成不變的,而是取決於您要實現的目標。 當然,整個系統的用途是-如果您的任務是為寶馬新車的空氣動力學建模,那么使用99.999%的CPU進行空氣動力學計算就可以了。 如果該機器是專用的Web服務器,則使用99.99%的CPU服務網頁也很好。 如果他們使用某人的台式機瀏覽網頁,寫電子郵件和編譯代碼,那么使用99.99%的可用CPU進行傅立葉變換音樂收藏以檢查重復的歌曲,可能不是理想的解決方案。

程序本身決定啟動多少線程,而不是操作系統。 至於當進程啟動太多線程時會發生什么,這取決於調度程序

暫無
暫無

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

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