我可以同时从多个线程为一个套接字调用accept()吗?
我正在使用Linux 3.2.0,x86_64。我可以同时从多个线程为一个套接字调用accept()吗?
-
是的,您可以
accept()
从多个线程和多个进程调用同一个侦听套接字,尽管指向它的指向可能不如您想象的那么多。内核将只允许一个成功。当使用进程完成此操作时,这称为预分支,并且fork()
为每个新连接节省了a的开销。但是,当您处理线程时,可以更轻松地拥有一个等待新连接队列的现有线程池。一个线程执行accept
并写入队列,而工作线程读取队列并执行其操作。它更干净,这是一个很好理解的模式,您几乎一无所获。
-
从另一个线程关闭套接字时,阻塞recv不会退出吗?
2021-02-01 关注 0 浏览97 1答案
-
我可以在一个HttpServletResponse中附加多个附件吗
2021-01-30 关注 0 浏览118 1答案
-
我可以选择多个但只能返回一个结果集吗
2021-06-04 关注 0 浏览95 1答案
-
我可以使用一个require语句加载多个文件吗?
2021-01-31 关注 0 浏览94 1答案
-
多个线程可以同时将数据写入文件吗?
2021-01-30 关注 0 浏览77 1答案
-
我可以限制另一个类可以在Java中调用的方法吗?
2021-01-30 关注 0 浏览72 1答案
-
可以从另一个视图中调用一个视图吗?
2021-02-02 关注 0 浏览119 1答案
-
我可以从另一个文件访问变量吗?
2021-02-02 关注 0 浏览119 1答案
-
我可以在PHP中使用多个类来扩展一个类吗?
2021-02-02 关注 0 浏览88 1答案
-
我可以将多个jar文件合并到一个jar文件中吗
2021-01-30 关注 0 浏览102 1答案