gyuim 发表于 2014-04-25 17:22

共享內存進程同步問題

小弟有個問題想請教,
看到資料說明使用Linux提供的共享內存機制可讓進程A,B之間可以溝通
但必須注意同步問題。
主要提到的情況是當進程A正在寫的同時,另一個進程B正在讀。
或者是兩進程A,B都同時在寫的情況,針對上述的情況就必須要去做進程間同步機制
                                                                              
我想說要解決上述問題為何不申請兩塊共享內存然後分別配給進程A,B當作它們各自的
寫的空間,這樣就不會發生兩進程同時寫同一塊共享內存的問題。
另外在配合說當進程A寫完訊息。會通知進程B來收訊息的條件。
這樣就不會發生當一進程A正在寫的時候,另一個進程B也正在讀的情況
                                                                              
想請問是我想得太簡單了嗎?????
                                                                     謝謝大家

linux_c_py_php 发表于 2014-04-28 10:48

一个人写,一个人读,难道就不需要同步了吗?

timespace 发表于 2014-04-28 11:05

图样图森破。
A写完通知B,这本身就是一种同步,加上两块共享内存,实现更加复杂。别空想太多,手动写写,哪怕是伪代码。
页: [1]
查看完整版本: 共享內存進程同步問題