假設我們有一個使用winsock來實現tcp通信的應用程序。我們爲每個套接字創建一個線程並在其上接收數據塊。當數據到達時,我們想通知其他線程(偵聽線程)。winsock應用程序和多線程 - 從另一個線程偵聽套接字事件
我想知道什麼是實現這一目標的最佳方式:
移動從這個設計拿走並使用非阻塞插座,然後監聽線程必須不斷迭代,並調用非阻止接收,從而使它線程安全(沒有額外的線程插座)
使用異步過程調用來通知偵聽線程 - 這又一次將警報 - 等待apc排隊等待。
實現了一些線程安全的消息隊列,其中每個套接字線程將向其發佈消息,並且偵聽器將再次每隔一段時間遍歷它並從中提取數據。
另外,我讀了關於WSAAsyncSelect,但我看到這是用來發送消息到窗口。是不是有類似的其他線程? (以及我猜apcs是...)
謝謝!
[PostThreadMessage函數](http://msdn.microsoft.com/en-us/library/windows/desktop/ms644946%28v=vs.85%29.aspx) – Arno