Re: [問題] 關於多process執行順序 (QT)
※ 引述《cty222 (縱裕)》之銘言:
: 小弟寫了一支關於 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() 的方式實作
: 希望各位前輩可以幫忙解惑...
我想幫你,但是我得先弄董你寫的那個..虛擬碼,sorry
有關兩個行程要 hand shake , 其實用一個信號/mutex 來進行同步會比較好.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.134.158
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章