Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用共享内存的信号量 我写了两个简单的进程——C++和Linux中的客户端和服务器,它们共享相同的内存,一个写给它,另一个只从它读取。 从该网站获取代码:_C++_Linux_Shared Memory_Semaphore - Fatal编程技术网

如何使用共享内存的信号量 我写了两个简单的进程——C++和Linux中的客户端和服务器,它们共享相同的内存,一个写给它,另一个只从它读取。 从该网站获取代码:

如何使用共享内存的信号量 我写了两个简单的进程——C++和Linux中的客户端和服务器,它们共享相同的内存,一个写给它,另一个只从它读取。 从该网站获取代码:,c++,linux,shared-memory,semaphore,C++,Linux,Shared Memory,Semaphore,问题是: 我需要确保第二个进程在另一个进程写入某行/地址时不会读取该行/地址,但它可以读取其他行/地址 例如,如果服务器正在写入第10-15行,则客户端无法访问这些行,但可以读取其余行 我知道我需要使用信号量,但我不知道如何将它与共享内存结合起来。 有关于如何使用信号量的示例代码/帮助吗 注意:我使用的是SystemV IPC,而不是POSIX 提前感谢这篇16页的文档将帮助您理解和实现信号量:

问题是: 我需要确保第二个进程在另一个进程写入某行/地址时不会读取该行/地址,但它可以读取其他行/地址

例如,如果服务器正在写入第10-15行,则客户端无法访问这些行,但可以读取其余行

我知道我需要使用信号量,但我不知道如何将它与共享内存结合起来。 有关于如何使用信号量的示例代码/帮助吗

注意:我使用的是SystemV IPC,而不是POSIX


提前感谢

这篇16页的文档将帮助您理解和实现信号量: