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

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