Что происходит при одновременной записи в сокет из разных потоков? - PullRequest
1 голос
/ 08 ноября 2010

У меня есть два потока, каждый с буфером с некоторыми данными.У меня есть функция, которая пишет в сокет TCP.(Я использую для этого ffmpeg.) Как пакеты данных поступят на сервер - каким-то безумным путаницей или в каком-то другом порядке, или ОС (в моем случае, Windows) заставит один поток ждать, пока другой не получитзакончил

Ответы [ 2 ]

5 голосов
/ 08 ноября 2010

Это полностью зависит от того, какую реализацию «сокетов» вы используете.Если ваша реализация синхронизирована, вы получите данные первого потока, а затем данные второго потока (второй поток будет блокироваться, пока первый отправляет).Если ваша реализация не синхронизирована, вы получите бред.

0 голосов
/ 08 ноября 2010

ммм, ну, вы должны синхронизировать их, чтобы избежать неожиданных результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...