LINUX.ORG.RU

потоки и сокет


0

0

Подскажите могут ли два потока одновременно писать в сокет? или всетаки нужно использовать блокировку как и для остальных ресурсов

anonymous

блокировку, конечно

anonymous
()

Никакой блокировки не нужно. Системные вызовы типа write/read/send/recv гарантируют свою атомарность. Но тем не менее тогда тебе придется за раз записывать логически завершенное сообщение в сокет, иначе тот кто будет читать может прочитаь кашу: пол сообщения от одного потока, пол от другого. Например "I'm 0x123 I'm 0x343 thread.thread."

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