LINUX.ORG.RU

При соответствующей синхронизации (запись в сокет только под соответствующим мутексом) - ничего. В противном случае, получите кашу из данных записанных обоими потоками.

Во-первых, если один из потоков шлёт данные неатомарно, т.е. несколькими вызовами write/send, между ними могут быть воткнуты данные другого потока. Во-вторых, если буффер сокета переполнится, получим частичный write, после которого, опять таки, могут вклиниться данные другого потока.

slovazap ★★★★★
()
Ответ на: комментарий от MyTrooName

Что-то чего не знал, какие нибудь особые умности, подводные камни. В общем серьезную причину, раз так говорят.

normann ★★★
() автор топика
Ответ на: комментарий от normann

да можно. только зачем? если сокет стримовый, непонятен юзкейс: если протокол оперирует объектами крупнее 1 байта, все равно придется синхронизировать потоки. если 1 байтом с буферизацией - синхронизация будет неявная. если 1 байтом без буферизации - это, мягко говоря, неэффективно.

MyTrooName ★★★★★
()
Ответ на: комментарий от normann

вижу что это делать можно и ничего в этом плохого нет.

И ты можешь описать, что происходит при физически одновременной записи из двух нитей в один сокет?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

А зачем тебе такое? Так не делают. Когда работают с потоками то применяют синхронизацию.

normann ★★★
() автор топика
Ответ на: комментарий от normann

если кэпу есть, что ответить, ящитаю, проблема в вопросе

MyTrooName ★★★★★
()
Ответ на: комментарий от normann

А зачем тебе такое?

Мне - не нужно.

Так не делают. Когда работают с потоками то применяют синхронизацию.

Мы все рады, что ты это понял.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Мы все рады, что ты это понял. Да моя прелесть. Гголум гголум.

Вас там несколько что-ли?

normann ★★★
() автор топика

Поковыряй в носу четырьмя пальцами.

anonymous
()

Ничего плохого, сокет не взорвётся. Можно даже читать из разных потоков.

const86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.