3 c c++ sockets networking winsock
是否存在OS便携式中断阻塞的方法accept?我有一个多线程守护进程/服务,当deamon/service获得关闭信号时,需要正常关闭所有侦听网络主机.我看到有人说你应该使用非阻塞套接字或选择超时 - 但这些会不会降低性能,因为我的应用程序应尽可能快?守护进程在主线程中运行,而每个侦听网络主机都在自己的线程中运行.现在的问题是,accept如果侦听网络主机的套接字上没有网络流量,则无限期地等待.如果我应该使用信号,那么有一个使用信号中断的例子accept吗?
accept
Mar*_*k B 5
这里的解决方案是在没有accept任何事情要求时不要打电话.只需使用非阻塞select或poll等到有东西可以接受,然后accept就此.除非你创建一个非常小的超时,否则从非阻塞调用中唤醒并返回再次等待该套接字将不会有任何性能影响.
select
poll
归档时间:
12 年,4 月 前
查看次数:
2825 次
最近记录: