[問題] pingpong buffer 保護的問題
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我使用一塊 (32KB) shared memory共享資料, 但我是這樣分配的..
1. shm是使用mmap所產生的.
2. 上下兩塊, 每塊各16KB (p1 / p2)
3. 當我寫進shm時, 有使用mutex保護.
4. 原本希望當A寫p1時, B2讀p2. 反之亦然.
問題:
寫或讀 shm 時有用mutex保護, 但我想這樣子不就失去原本設計pingpong的
意義了, 變成A / B必須要互相等待.
希望得到的正確結果:
請問有甚麼方法可以達到我想要的功能呢?
謝謝.
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
linux 2.6 ..
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.202.49
推
04/01 00:02, , 1F
04/01 00:02, 1F
→
04/01 00:02, , 2F
04/01 00:02, 2F
推
04/01 00:23, , 3F
04/01 00:23, 3F
→
04/01 00:23, , 4F
04/01 00:23, 4F