L16 进程同步与信号量
进程合作:多进程共同完成一个任务 每一个进程有一段程序,执行不是顺序执行,有些地方需要等待其他进程发发送信号才能执行。 进程同步: 需要让进程走走停停来保证进程合理有序称为进程同步。 但从依靠counter进行语义判断不足以判断到底来了几个生产者,在消费者唤醒时,是不能够唤醒睡眠中的进程。 当有进程睡眠时sem -1 继续有进程睡眠时 sen 再-1 ... 当有进程唤醒时 sem ++ 当sem >1时,sem++表示新增缓冲区,有空闲的新增缓冲区出现 v(semaphore s) { s.value++; if(s.value <= 0) { wakeup(s.queu
用户评论