我有一个主进程,该进程分配共享内存,然后创建多个进程(每个进程运行相同的程序)。这些进程每2秒将状态更新一次写入共享内存的特定区域(这意味着每个进程都有自己的内存区域,因此在写入访问之间无需同步)。
然后,主进程通过共享内存运行,将单个状态更新组合为一个完整的更新(也是每两秒一次。)>
我有两个正在运行的30个进程,有时我得到的完整值与第二秒的时间框架不匹配(可能是因为某些进程无法每2s精确地写出它们的数据)。
因此,我只想将完整的状态更新写入控制台,以防万一每个进程都更新了其值。
如何实现?
我有一个主进程,该进程分配共享内存,然后创建多个进程(每个进程运行相同的程序)。这些进程每2秒将状态更新写入到...
在许多可能的方法中,一种方法是使用原子操作来创建全局(读取)锁和“写”信号灯/计数器。