2014-01-08 74 views
2

如果我生成兩個使用相同的libc socket的線程,一個用於讀取,一個用於寫入,是否會出現問題?libc套接字是否線程安全?

+0

你可以提出你在哪個平臺上工作的問題嗎? –

+0

讀寫使用兩個獨立的緩衝區 - 它們不共享任何東西(可能取決於平臺,但我懷疑它)。在這種情況下,我懷疑不管你使用什麼套接字庫,都會有問題。我可能錯了 - 期待其他評論。 – freakish

+1

存在類似的問題[**關於並行調用send/recv **](http://stackoverflow.com/questions/1981372/are-parallel-calls-to-send-recv-on-the-same-socket無效) –

回答

1

在Unix系統中,套接字只是用戶空間中的一個整數,實際的套接字位於內核中。甚至可以有兩個不同的進程操縱相同的套接字(一次讀取,另一次寫入)而沒有任何問題。