[問題] 關於 multi-thread 使用上非同步問題
在 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
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章