信号量和互斥量行为疑惑
Semaphores and Mutex behaviour doubts
信号量和互斥量是同时同步线程和进程,还是只同步线程,还是只同步进程?
编辑:我错了,它是 C,而不是 shell。由于我通过 shell 编程,所以我误会了。还有一件事:通信和同步是一回事吗?
SysV IPC semaphores 进程间同步。
使用 POSIX 信号量,您可以通过 pshared 参数选择 sem_init(3) 使用 pshared=1,您可以在有权访问该区域的所有任务(可能包括线程和进程)之间进行同步您放置信号量的共享内存的数量。
Pthread mutexes 在线程上工作。
(Pthreads 也有条件变量,在功能上等同于信号量)。
线程版本可以有更好的性能,因为它是可以管理共享计数器的进程,而对于信号量,内核必须这样做。
同步是关于确定一个任务是否可以继续或必须与其他任务协调等待,它涉及通信,例如,通过在任务之间共享的递增和递减信号量。
信号量和互斥量是同时同步线程和进程,还是只同步线程,还是只同步进程?
编辑:我错了,它是 C,而不是 shell。由于我通过 shell 编程,所以我误会了。还有一件事:通信和同步是一回事吗?
SysV IPC semaphores 进程间同步。
使用 POSIX 信号量,您可以通过 pshared 参数选择 sem_init(3) 使用 pshared=1,您可以在有权访问该区域的所有任务(可能包括线程和进程)之间进行同步您放置信号量的共享内存的数量。
Pthread mutexes 在线程上工作。 (Pthreads 也有条件变量,在功能上等同于信号量)。
线程版本可以有更好的性能,因为它是可以管理共享计数器的进程,而对于信号量,内核必须这样做。
同步是关于确定一个任务是否可以继续或必须与其他任务协调等待,它涉及通信,例如,通过在任务之间共享的递增和递减信号量。