在 500 字内讲明白:What’s PV?

发布于 2024-06-01  97 次阅读


  1. P 操作:当执行 P 操作时,信号量值减 1,以表示「申请占用一个资源」。如果结果小于 0,则意味着已经没有可用资源,因此执行 P 操作的进程将被阻塞。而如果结果大于等于 0,则表示现有的资源足够使用,因此执行 P 操作的进程将继续执行。
  2. 「V 操作」:在执行 V 操作时,信号量值加 1,以表示「释放一个资源」,即在使用资源完毕后归还资源。如果加法后的信号量值小于等于 0,则说明有某些进程正在等待该资源。由于我们已经释放出一个资源,因此需要唤醒一个等待使用该资源(就绪态)的进程,使其继续运行。

可以这样理解,当信号量的值为 1 时,表示有 1 个资源可供使用;而当信号量的值为 -1 时,表示有 1 个进程正在等待使用该资源。

花朵艳丽终散落,谁人世间能长久?