将mutexes/semaphores与进程一起使用

5 linux mutex ipc process

到目前为止,我在线阅读的几乎所有代码和教程都涉及使用互斥锁和信号量来实现线程之间的同步.它们可以用于在进程之间进行同步吗?

我想编写看起来像这样的代码:

void compute_and_print() {
   // acquire mutex
   // critical section
   // release mutex
}

void main() {
int pid = fork();
if ( pid == 0 ) {
  // do something
  compute_and_print();
}
else {
  // do something
  compute_and_print();
}
}
Run Code Online (Sandbox Code Playgroud)
  • 有人能指出我这样做的类似代码吗?
  • 我知道不同的进程有不同的地址空间,但我想知道上面是不同的地址空间,但是,互斥量不会引用相同的内核对象吗?

gre*_*eke 1

听起来您正在寻找System V IPC您可能会使用信号量在进程之间进行同步。

这是对 Linux 中 Sys V IPC的精彩介绍