【发布时间】:2023-05-31 22:34:01
【问题描述】:
我编写了两个简单的进程 - 客户端和服务器(在 c++ - LINUX 中)共享相同的内存,一个写入它,另一个只读取它。 (从这个网站获取代码:
http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002730000000000000000
问题: 我需要确保第二个进程不会从某个行/地址读取,而另一个进程正在写入它(但它可以从其他行/地址读取)。
例如,如果“服务器”正在写入第 10-15 行,则“客户端”无法访问这些行,但它可以从其余行中读取。
我知道我需要使用信号量,但我不知道如何将它与共享内存结合使用。 有关如何使用信号量的任何示例代码/帮助?
注意:我使用 SystemV IPC 而不是 POSIX。
提前致谢
【问题讨论】:
标签: c++ linux shared-memory semaphore