gpt4 book ai didi

c - 当两个进程等待同一个子进程时会发生什么?

转载 作者:行者123 更新时间:2023-12-02 20:57:20 25 4
gpt4 key购买 nike

据我所知,wait/waitpid 的默认行为是等待进程中的状态更改。我找不到的是使用相同 pid_t 参数的两个进程 waitpid 的预期行为。

是否都返回并继续执行,或者这是一种竞争条件,只有一个人注意到状态变化?

最佳答案

只有父进程可以 wait() 进程,并且进程当然只能有一个父进程。

但是,父进程可能有多个线程。在多个线程等待同一个子线程的情况下,POSIX 指定只有其中一个线程会看到状态更改。要允许多个线程看到状态更改,您必须使用带有 WNOWAIT 标志的 waitid()。

POSIX: status information

关于c - 当两个进程等待同一个子进程时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801886/

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