假設(shè)我們正在偵聽 TCP 端口(listener, err := net.Listen("tcp", ":8081")例如使用),是否可以同時(shí)調(diào)用listener.Accept()不同的 goroutines?它有助于最大限度地提高接受速度嗎?
1 回答

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
net.Listener 是引擎蓋下的 FileDescriptor。Accept() 使用 Plan9 機(jī)制,它在函數(shù)和生成連接時(shí)使用 readLock 保護(hù)它 - newFD。所以看起來很安全。而且由于Lock是只讀的,沒有獨(dú)占性,你甚至可以在我的腦海中同時(shí)獲得一些加速調(diào)用accept。
- 1 回答
- 0 關(guān)注
- 314 瀏覽
添加回答
舉報(bào)
0/150
提交
取消