进程间的同步方式有哪些?
进程间的同步方式有哪些?
我们把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。
- 临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。
- 互斥量(Mutex):为协调共同对一个共享资源的单独访问而设计的。
- 信号量(Semaphore):为控制一个具有有限数量用户资源而设计。它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。互斥量是信号量的一种特殊情况,当信号量的最大资源数=1就是互斥量了。
- 事件(Event): 用来通知线程有一些事件已发生,从而启动后继任务的开始。
