2014-01-08 2 views
2

동일한 libc socket을 사용하는 두 개의 스레드 (읽기 용과 쓰기 용)를 생성하는 경우 문제가 발생합니까?libc 소켓은 thread로부터 안전한가요?

+0

어떤 플랫폼에서 작업하고 있는지 질문 할 수 있습니까? –

+0

읽기 및 쓰기에는 두 개의 독립 버퍼가 사용됩니다. 아무 것도 공유하지 않습니다 (플랫폼에 따라 다르지만 의심 스럽습니다). 이 경우 어떤 소켓 lib를 사용하든 문제가있을 것입니다. 다른 의견을 기대하면서 나는 틀릴 수도 있습니다. – freakish

+1

비슷한 질문이 있습니다 [** 병렬 호출/recv **에 관한] (http://stackoverflow.com/questions/1981372/are-parallel-calls-to-send-recv-on-the-same-socket -valid) –

답변

1

유닉스 시스템에서 소켓은 사용자 공간의 정수이며 실제 소켓은 커널 내부에있다. 동일한 소켓을 조작하는 두 개의 다른 프로세스 (한 개의 읽기, 다른 쓰기)를 문제없이 수행 할 수도 있습니다.

관련 문제