2011-01-20 65 views
0

您是否打算防止對由多個進程打開的文件映射內存進行同時讀取/寫入?控制對內存映射文件(窗口)的讀取/寫入

例如,如果內存中的字符串是「hello」,並且一個進程在其上寫入「hi ...」,我是否可以說另一個同時讀取的進程可能會得到間歇值,如「 hi.lo「?

基本上我問的是人們如何再次保護這些東西。你打算使用信號燈嗎?這些工作是否跨越流程?

回答

1

是的,如果您需要防止多個編寫者或避免讀取部分更新,那麼每個進程使用的共享互斥/信號量將用於控制對共享數據的訪問。

有一些示例代碼在MSDN文章的底部執行此操作:Memory-Mapped Files in .NET 4.0