看板 C_and_CPP 關於我們 聯絡資訊
最近在研究interprocess的東西 在網路上找到 mfc server to mfc client 使用shared memory的方式來完成 server的部分做read的動作 而client做write的動作 server端 : 虛擬碼 HANDLE event = ::CreateEvent("aaa"); WaitForSingleObject(event); read from shared memory .... client 端 : 虛擬碼 HANDLE event = ::CreateEvent("aaa"); write to shared memory ... SetEvent(event); ------------------------------------------------------------------ 客戶端寫完送出event (看來 只要同名字的event就可以誇process ? ) 而server端等到有event後就做讀取的動作 這機制我大概還可以明白 但 如果我server端要換成boost 請問 我有辨法做類似mfc這個 CreateEvent 和 WaitForSingleObject的行為嗎 剛才在看boost的doc只有看到 mutex跟condition之類的 但沒有發現event 我持續在研讀中 但我怕event這東西是windows平台特有的 boost沒有.... 或是 有其他的機制可以完成 不一定要透過EVENT... 不好意思 對ipc也是剛學不久 所以 還是一團混亂 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.136.97 ※ 編輯: neigence 來自: 115.43.136.97 (07/10 16:30)
hilorrk:看到event 差點直接推signal..XD 07/10 17:36
Chikei:condition就是你要的 07/10 22:24
james732:CreateEvent那兩個function不是MFC獨有,而是Win32API 07/10 22:48
james732:就算用boost 仍然可以 #include <windows.h> 來使用 07/10 22:48
goodGG:boost 是跨平台的 library,不行就 call Win32/Vista/..API 07/11 00:51
avhacker:condition 比 event 好用太多了 07/12 12:53