[問題] 關於多process執行順序 (QT)

看板LinuxDev作者 (縱裕)時間12年前 (2012/12/13 07:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/6 (看更多)
小弟寫了一支關於 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

12/18 03:57, , 1F
你是不是一直在 fork() process ?
12/18 03:57, 1F
文章代碼(AID): #1GoOhzJp (LinuxDev)
文章代碼(AID): #1GoOhzJp (LinuxDev)