亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在golang中優先處理goroutine

在golang中優先處理goroutine

Go
qq_笑_17 2023-05-22 15:54:25
我正在用 golang 編寫一個低延遲網絡、高吞吐量服務器。它在主 goroutine 中有接受器(接受傳入連接)。并將傳入的連接傳遞給“n”個 worker goroutine。在這種情況下,為了不斷開連接,我希望 acceptor goroutine 優先于其他 goroutine,這樣連接就不會斷開?;蛘咧辽龠@個 acceptor goroutine 不應該被其他 worker goroutine 驅逐。我怎樣才能確保這一點?
查看完整描述

2 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

我在 golang 上創建了線程池。這應該允許人們輕松地將某些 goroutine 優先于其他 goroutine。

查看完整回答
反對 回復 2023-05-22
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

如果您優先考慮接受連接而不是“做工作”,請考慮隨著時間的推移會發生什么。您將創建積壓的工作,同時接受越來越多的連接,帶來更多的工作要做。這只會使您的服務器上的負載更高。

相反,專注于編寫非常高效的工作代碼,以便快速完成工作,釋放資源來處理新連接。

如果您擔心您的服務器無法處理工作負載,您應該考慮對您的客戶端進行速率限制。


查看完整回答
反對 回復 2023-05-22
  • 2 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號