[問題] 關於 multi-thread 使用上非同步問題

看板C_and_CPP (C/C++)作者 (請多指教!!)時間16年前 (2009/12/12 22:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
在 WIN32下我使用 multi-thread的方式解決 本機跟對方主機溝通的問題 我建一個 socket跟對方主機溝通 建兩個 thread: SEND() & RECV()分別做傳跟收的動作 然後有個 share memory的部分做資料間的處理 M RECV()收到資料存到 M SEND()送指令給對方主機 然後從 M 中處理資料 我也有用 mutex來保護 M中的資料不會受到污染 但是現在有個問題 我 SEND() 送指令過去知後 我不知道哪時候才可以對 M 做處理 雖然我幫 RECV() 建一個夠大的 buff 存資料放到 M當中 但是不能保證主機只會傳一次資料到本機 這樣我要如何才能夠在等待最小時間下 去處理 M 的資料 ps. 我要依據 SEND() 送的指令來決定如何處理 M 的資料 ps2. 雖然我可以等個10秒鐘來保證 RECV() 已經存到 M 當中 但是我需要傳 10萬 ~ 100萬次的資料 這樣我應該會等到天荒地老 = =||| ps3. 我很不乖 我在 WIN32 下用 PThread 這個 Lib -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.149.209 CMJ0121:轉錄至看板 Prob_Solve 12/13 00:42
文章代碼(AID): #1B8wBa-N (C_and_CPP)
文章代碼(AID): #1B8wBa-N (C_and_CPP)