本章介绍了创建和销毁条件变量、通知条件变量监视数据发生变化以及使线程等待此类通知的 API。

条件与单个监视器密切相关,监视器通常由互斥锁、一个或多个条件变量以及监视的数据组成。条件与监视器之间的关联是在创建条件变量时建立的,并且在其生命周期内持续存在。此外,条件与监视器中的一些数据之间存在静态关联。这些数据将由程序在监视器的保护下进行操作。

调用 PR_WaitCondVar 会导致线程阻塞,直到指定的条件变量收到其关联的监视数据状态发生变化的通知。其他线程可以在发生变化时通知条件变量。

有关 NSPR 线程同步(包括锁和条件变量)的介绍,请参阅 NSPR 简介

有关 NSPR 锁的参考信息,请参阅

NSPR 提供了一种特殊类型 PRMonitor,用于与 Java 一起使用。与可以有多个关联的类型为 PRCondVar 的条件变量的类型为 PRLock 的互斥锁不同,类型为 PRMonitor 的互斥锁有一个隐式关联的条件变量。有关 PRMonitor 的信息,请参阅 监视器

条件变量类型

条件变量函数