可以关闭()阻止执行一段时间吗?

时间:2014-05-22 09:20:43

标签: c linux

我正在编写一个小型网络程序,其中延迟非常重要。我想捕获在某些系统调用中阻止执行的所有可能情况。

我知道connect可以阻止执行几秒钟。 read阻止,直到数据可用。 write阻塞,直到系统缓冲区中有足够的空间。问题是:可以close阻止执行一段时间吗?如果是,是否通过使用非阻塞套接字解决了这个问题?

我在Linux上工作。但是,了解其他系统也很有趣。

1 个答案:

答案 0 :(得分:2)

是关闭可以阻止。当在同一个套接字上的recv / send调用上阻塞了另一个线程时,会发生这种情况。

使用非阻塞套接字来避免这种情况。