信号量和互斥量行为表示怀疑

时间:2016-06-14 22:44:43

标签: c linux mutex semaphore

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

编辑:我的错误是C,而不是shell。由于我通过shell编程,我误以为。还有一件事:通信和同步是一样的吗?

1 个答案:

答案 0 :(得分:1)

SysV IPC semaphores在进程之间进行同步。

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

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

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

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