用信号量实现进程互斥
- 进程互斥,说明资源的数量只有一个,是临界资源,所以设置互斥信号量,并且初值为1
- 执行临界区之前执行P操作 出了临界区执行V操作
- P V操作应该是成对出现的 对于不同的临界资源需要不同的信号量
信号量机制实现进程同步
- 同步简单的来理解 就是人为去规定进程执行的顺序
- 原理
- 将同步信号量设置为0 (为什么 因为我们要规定一个进程在另一个进程之前执行,那么肯定让先执行的进程执行后将资源从0到1)
- 对于先执行的进程,执行完用一个V操作 V操作会将将信号量+1,可以将-1变成0,然后将一个阻塞进程变成就绪进程,也可以将0变成1,执行后面要执行的进程就不会阻塞
- 对于后执行的进程,执行器用一个P操作 如果我们后执行的进程,先执行,会将同步信号量变成-1,从而导致阻塞