跳转到内容

操作系统设计/临界区问题/监视器

来自维基教科书,开放的书籍,开放的世界

监视器是条件变量和锁的组合。它使用条件变量上的忙等待来确保线程之间的同步,并在接收到来自另一个线程的信号后执行。它可以向一个线程发送信号,或者广播所有正在等待锁释放的线程。监视器是一个对象,可以被多个线程安全地使用。也就是说,它的方法总是在互斥状态下执行:在任何给定的时间点,只有一个线程可以运行给定的方法。它们通常提供方法来等待访问变得可用并向线程发出信号以表明它们可以控制。

许多高级语言(C#、Python、Java 等)包含内置的监视器功能。对于不支持监视器的语言,如 C,存在提供此类功能的并发库,例如 Pthreads。

华夏公益教科书