我正在用 golang 編寫一個(gè)簡(jiǎn)單的 web api,其中包含 crud 操作(從數(shù)據(jù)庫(kù)讀取和寫入)。作為其中的一部分,我是否需要為每個(gè)處理程序啟動(dòng)一個(gè) go 例程,HandleFunc或者服務(wù)器 api 是否通過(guò)HandleFunc. 如果我需要啟動(dòng)一個(gè)單獨(dú)的 go 例程,我假設(shè)我必須使用緩沖通道來(lái)發(fā)送信號(hào),以及如何確保使用正確的上下文將請(qǐng)求發(fā)送回正確的客戶端。如果這是一個(gè)基本問(wèn)題,我很抱歉,但我來(lái)自 nodejs 背景,這是自動(dòng)處理的。
1 回答
嗶嗶one
TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
是的,每個(gè)處理程序都運(yùn)行在一個(gè) goroutine 上。您需要使用互斥鎖或通道來(lái)管理對(duì)共享資源的訪問(wèn)。本文展示了如何以非常實(shí)用的方式管理并發(fā):https ://eli.thegreenplace.net/2019/on-concurrency-in-go-http-servers/
- 1 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
