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

Rel*_*lla 1 c++ windows multithreading tcp ffmpeg

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

Bil*_*eal 5

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