같은 시간에, 같은 파일디스크립터를 향해, 복수개의 쓰레드에서 쓰기 작업을 한다면
결과가 어떻게 될까요?
구글링을 해보니, 절대적으로 안전하다. 라는 의견도 있고, 안전하지 않다고 이야기 하는
사람도 있어서 혼란스럽네요.
그냥 속편히 동기화된 큐같은 걸 이용해서, 보내면 되겠지만 만약 안전하다면, 구지
쓰레드를 하나 더 만드는게 낭비라는 생각이 들어서요.
가령 A 쓰레드에서 "AAAA" 를, B 쓰레드에서 "BBBB" 를 같은 시간에 같은 소켓을
향해서 쓸때, 받는쪽에서 "AABABBAB" 식으로 데이터가 망가질 수도 있는지 궁금합니다.
테스트를 여러번 돌려봐도 위와 같은 경우는 없었지만, 멀티쓰레드상에서 벌어지는 일이라
나온 결과를 신뢰 할 수 가 없네요.ㅎㅎ
쓸려고 하는건 udp 이긴 한데 tcp/udp 양 쪽 모두 궁금하네요.
작업환경은 linux 와 os x 입니다. 감사합니다.