1

来自 sctp 套接字的并发读取是线程安全的。SCTP 堆栈可能使用一些同步原语(例如互斥锁)来实现它。我的问题是(sctp)套接字是否处于非阻塞模式。如果 sctp 代码无法立即获得锁定或仅在套接字的缓冲区已满时阻塞,读取是否会返回。

4

1 回答 1

1

如果套接字处于非阻塞模式,它应该阻塞直到获取互斥体,然后执行当前缓冲区状态指示的任何recvmsg()操作,然后返回。由于没有任何阻塞,因此互斥锁暂时阻塞并不重要。这与使用 TCP 或 UDP 的情况没有什么不同。非阻塞合约就是不阻塞等待数据。

于 2013-03-23T03:50:34.350 回答