作者cty222 (纵裕)
看板LinuxDev
标题[问题] 关於多process执行顺序 (QT)
时间Thu Dec 13 15:59:54 2012
小弟写了一支关於 share memory 的程式
里面加入了类似hand shake的机制
一开始两支C code compiler 工作正常
後来其中一支C code改成用QT compiler就不正常了
节取问题code如下
*share 是共享记忆体
C code QT code
1. *share = 0 ; *share=0;
2. while(*share==1); while(*share!=2){
*share = 1 ;
sleep(1); <-----问题点
}
3. *share=2;
用sleep(1)是可以工作正常
可是我原本是用for(i=0;i<100;i++); 的方式去等
也试过不等(什麽都不加)
但C_code那边加入printf去看 *share 一直是 0
(第三行不会被执行)
虽然之後QT应该会用Dbus做
但还是想了解这是什麽原因
这是用shmget() + shmat() 的方式实作
希望各位前辈可以帮忙解惑...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.0.127
1F:推 shietsd:你是不是一直在 fork() process ? 12/18 03:57