gpt4 book ai didi

c - 信号量和互斥量行为疑惑

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:21 24 4
gpt4 key购买 nike

信号量和互斥量是同步线程和进程,还是只同步线程,还是只同步进程?

编辑:我的错误是 C,而不是 shell。因为我通过 shell 编程,所以我误会了。还有一件事:通信和同步是一回事吗?

最佳答案

SysV IPC semaphores进程间同步。

使用 POSIX 信号量,您可以通过 pshared 参数选择 sem_init(3)使用 pshared=1,您可以在有权访问您已放置信号量的共享内存区域的所有任务(可能包括线程和进程)之间进行同步。

Pthread mutexes在线程上工作。(Pthreads 也有条件变量,在功能上等同于信号量)。

线程版本可以有更好的性能,因为它是可以管理共享计数器的进程,而对于信号量,内核必须这样做。

同步是关于确定一个任务是否可以继续或必须与其他任务协调等待,它涉及通信,例如,通过在任务之间共享的递增和递减信号量。

关于c - 信号量和互斥量行为疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823324/

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