行程A 創建共享記憶體 S 行程A 反復更改共享記憶體S中變數值 ,行程B 反復讀取共享記憶體S 中變數值沒有問題。。。。。
但是如果行程A中再增加一個函式,讀取共享記憶體 S 中變數值(意思就是行程A和行程B都可以讀取該共享記憶體變數), 只要行程A該函式一讀取 該變數。。。。
問題出現->行程A就無法 更改共享記憶體
更改共享記憶體 代碼如下:
if (!sharememory->create(size)) //創建共享記憶體,大小為size
{
qDebug()<<sharememory->errorString();//顯示出錯資訊
return ;
}
顯示:QSharedMemory::create already exists.....
但是 大小為0?
uj5u.com熱心網友回復:
多行程同時修改共享記憶體資料應該會出現不確定性的結果吧,不然鎖有什么用uj5u.com熱心網友回復:
A行程讀應用以打開方式打開共享記憶體試試看,或者一個行程內,直接用create結果的指標,別再create了轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/43987.html
標籤:Qt
上一篇:關于Android資料問題
