gpt4 book ai didi

c - sem_post 是否唤醒一个随机进程

转载 作者:行者123 更新时间:2023-12-04 14:09:47 26 4
gpt4 key购买 nike

假设 10 个进程正在使用 sem_wait() 等待一个信号量。
第 11 个进程对该信号量调用 sem_post。
10 个进程中的哪个将进入关键块?
像随机吗?所有的进程都会被唤醒并争取实现一个锁定。
并且 CPU 将为其中一个进程提供锁,其余进程将返回到等待状态

最佳答案

POSIX 标准没有指定将唤醒哪个线程。此外,如果没有人为延迟,线程就不可能以明确定义的顺序开始等待信号量。
实际上,它可能是等待时间最长的线程,因为队列结构用于记录等待同步对象的线程。它绝对不会是一个“随机”线程。但这也不是您应该依赖代码正确性的东西。

关于c - sem_post 是否唤醒一个随机进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65274067/

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