gpt4 book ai didi

c - 如何使用信号量在 fork 进程之间切换?

转载 作者:行者123 更新时间:2023-11-30 17:03:06 24 4
gpt4 key购买 nike

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

您希望三个进程按顺序执行某些操作(首先是一个子进程,然后是另一个子进程,然后是父进程),直到达到停止条件。

必须使用信号量来实现此顺序。

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

最佳答案

首先您必须创建一些共享内存。因此,如果您更改该内存中的某些内容,那么这将反射(reflect)到所有进程。现在是时候使用 sem_wait(&mutex) 和 sem_post(&mutex) 来获取您的期望的结果..如果您没有得到,请告诉我,我将提供一些代码片段,以便您可以轻松理解...

关于c - 如何使用信号量在 fork 进程之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36274440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com