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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

goroutines(以及運(yùn)行它們的操作系統(tǒng)線程)在被 IO 綁定操作阻塞時(shí)如何表現(xiàn)?

goroutines(以及運(yùn)行它們的操作系統(tǒng)線程)在被 IO 綁定操作阻塞時(shí)如何表現(xiàn)?

Go
藍(lán)山帝景 2022-05-05 16:12:28
讓我們假設(shè)一個(gè) goroutine 正在從網(wǎng)絡(luò)中讀取數(shù)據(jù)。每次 goroutine 必須等待(被阻塞等待網(wǎng)絡(luò)響應(yīng))時(shí),會(huì)發(fā)生什么?運(yùn)行 goroutine 的操作系統(tǒng)線程是否被阻塞?還是它像 C# 中的異步操作一樣工作(線程返回線程池,直到操作系統(tǒng)的 IO 線程通知程序有新數(shù)據(jù)要處理,然后,線程池中的另一個(gè)線程繼續(xù)處理數(shù)據(jù)從網(wǎng)絡(luò)接收)?我主要擔(dān)心的是,如果 Go 每次 goroutine 被阻塞時(shí)都保持一個(gè)阻塞線程,如果我在服務(wù)器中有許多 goroutine 處理來自非常慢的網(wǎng)絡(luò)的傳入連接,我最終可能會(huì)耗盡 RAM,因?yàn)槊總€(gè)被阻塞線程消耗大約 2MB 的 RAM?;蛘呷绻?Go 創(chuàng)建的運(yùn)行 goroutines 的線程池有限制,我可能最終會(huì)耗盡活力。那么 goroutine 在 IO 綁定操作中是如何表現(xiàn)的呢?
查看完整描述

1 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果它是一個(gè)異步系統(tǒng)調(diào)用,它會(huì)阻塞 goroutine 并釋放線程以運(yùn)行另一個(gè) goroutine,就像 goroutine 阻塞例如通道讀取一樣。

如果它是一個(gè)阻塞的系統(tǒng)調(diào)用,那么 Go 對此無能為力 - 系統(tǒng)調(diào)用將阻塞線程,期間。Go 可能會(huì)啟動(dòng)另一個(gè)線程來處理由調(diào)度程序確定的可運(yùn)行的 goroutine。


查看完整回答
反對 回復(fù) 2022-05-05
  • 1 回答
  • 0 關(guān)注
  • 166 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)