繁体   English   中英

如何使用信号量在分叉的过程之间切换?

[英]How to switch between forked processes using semaphores?

假设您有一个父进程,它派生了两个子进程。

您希望这三个过程按顺序执行某项操作(第一个孩子,然后另一个孩子,然后是父母),直到达到停止条件为止。

信号灯必须用于实现此顺序。

我的问题是如何在三个过程之间进行切换。 换句话说,如何确定给定进程正在运行,并使用信号量来确保没有进程连续运行两次或被跳过。 我知道可以使用信号量来“阻塞”直到信号到达为止,但是我不知道如何使用该概念来使我的三个过程井井有条。

首先,您必须创建一些shared memory 这样一来,如果您更改该内存中的某些内容,那么它将反映到所有过程中sem_wait(&mutex)时候使用sem_wait(&mutex)sem_post(&mutex)来获得您想要的结果了。我将提供一些代码段,以便您可以轻松理解...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM