第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Goroutines 8kb 和 windows OS 線程 1 mb

Goroutines 8kb 和 windows OS 線程 1 mb

Go
富國滬深 2021-10-04 16:12:27
作為 Windows 用戶,我知道 OS 線程會消耗 ~1 Mb 的內(nèi)存,因為如果 OS 線程更加貪吃的話,每個線程By default, Windows allocates 1 MB of memory for each thread’s user-mode stack.如何golang使用 ~8kb 的內(nèi)存goroutine。是goroutine虛擬線程嗎?
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經(jīng)驗 獲得超6個贊

Goroutines 不是線程,它們是(來自規(guī)范):

...在同一地址空間內(nèi)的獨立并發(fā)控制線程或goroutine。

Effective Go將它們定義為:

它們之所以被稱為goroutine,是因為現(xiàn)有的術語——線程、協(xié)程、進程等——傳達了不準確的內(nèi)涵。goroutine 有一個簡單的模型:它是一個與同一地址空間中的其他 goroutine 并發(fā)執(zhí)行的函數(shù)。它是輕量級的,成本比分配堆??臻g多一點。并且堆棧開始時很小,因此它們很便宜,并且可以通過根據(jù)需要分配(和釋放)堆存儲來增長。

Goroutines 沒有自己的線程。相反,多個 goroutines(可能)被復用到同一個 OS 線程上,所以如果一個 goroutines 應該阻塞(例如等待 I/O 或阻塞通道操作),其他 goroutines 繼續(xù)運行。

同時執(zhí)行 goroutine 的實際線程數(shù)可以通過該runtime.GOMAXPROCS()函數(shù)設置。從runtime包文檔中引用:

GOMAXPROCS 變量限制了可以同時執(zhí)行用戶級 Go 代碼的操作系統(tǒng)線程的數(shù)量。代表Go代碼在系統(tǒng)調(diào)用中可以阻塞的線程數(shù)沒有限制;這些不計入 GOMAXPROCS 限制。

請注意,在當前的實現(xiàn)中,默認情況下只有 1 個線程用于執(zhí)行 goroutine。


查看完整回答
反對 回復 2021-10-04
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號