信号量和互斥量行为疑惑

Semaphores and Mutex behaviour doubts

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

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

SysV IPC semaphores 进程间同步。

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

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

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

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