http://book.77169.org/3933/3933045.htm
多個線程可否對同一個套接字進行寫操作,例如有一個SOCKET s;兩個線程同時向s中寫入內容,其中
一個寫入為"12",而另一個寫入內容為"34",在客戶端接收的數據中有沒有可能結果為"13","24"???
1、多個線程可以對同一socket進行收發,但是要自己進行同步
原則上說是有可能的
但是實際上的可能性很小
你可以試試發個長一點的,比如一個發1024字節個'a'
一個發1024字節個'b'
看看收到的a和b是不是分開的
不要同時讀或者同時寫
(1) 不會出現 13 ,24 這樣的情況的
第一個線程send,會產生一個tcpid之類的東東,即使發送到一半,控制權給了線程2,線程2send后又有自己的tcpid,據TCP/IP協議,最后IP重組后得的數據依然還是 12 ,34
select/ epoll 會不會保證socket讀寫的同步??
