golang中最大協程數的限制(線程)


golang中最大協程數的限制

golang中有最大協程數的限制嗎?如果有的話,是通過什么參數控制呢?還是通過每個協程占用的資源計算?

通過channel控制協程數的就忽略吧。

 

以我的理解,計算機資源肯定是有限的,所以goroutine肯定也是有限制的,單純的goroutine,一開始每個占用4K內存,所以這里會受到內存使用量的限制,還有goroutine是通過系統線程來執行的,golang默認最大的線程數是10000個。可以通過https://gowalker.org/runtime/debug#SetMaxThreads

來修改。但要注意線程和goroutine不是一一對應關系,理論上內存足夠大,而且goroutine不是計算密集型的話,可以開啟無限個goroutine。

https://gowalker.org/runtime/debug#SetMaxThreads




免責聲明!

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



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