假设我们正在侦听 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 关注
- 291 浏览
添加回答
举报
0/150
提交
取消