2014-01-08 47 views
2

如果我生成两个使用相同的libc socket的线程,一个用于读取,一个用于写入,是否会出现问题?libc套接字是否线程安全?

+0

你可以提出你在哪个平台上工作的问题吗? –

+0

读写使用两个独立的缓冲区 - 它们不共享任何东西(可能取决于平台,但我怀疑它)。在这种情况下,我怀疑不管你使用什么套接字库,都会有问题。我可能错了 - 期待其他评论。 – freakish

+1

存在类似的问题[**关于并行调用send/recv **](http://stackoverflow.com/questions/1981372/are-parallel-calls-to-send-recv-on-the-same-socket无效) –

回答

1

在Unix系统中,套接字只是用户空间中的一个整数,实际的套接字位于内核中。甚至可以有两个不同的进程操纵相同的套接字(一次读取,另一次写入)而没有任何问题。