从同一时间写入不同线程的套接字会发生什么?

时间:2010-11-08 17:34:33

标签: c++ windows multithreading tcp ffmpeg

我有两个线程,每个线程都有一个包含一些数据的缓冲区。我有一个写入TCP套接字的函数。 (我使用ffmpeg。)数据包将如何到达服务器 - 以某种疯狂的混合方式或其他顺序,或者操作系统(Windows,在我的情况下)使一个线程等到另一个线程完成了吗?

2 个答案:

答案 0 :(得分:5)

这完全取决于您使用的“套接字”的实现。如果您的实现是同步的,您将获得第一个线程的数据,然后是第二个线程的数据(第二个线程将在第一个线程发送时阻塞)。如果你的实现不同步,你会得到胡言乱语。

答案 1 :(得分:0)

嗯,你必须同步它们,以避免意外的结果。