根据我对互斥锁的了解——它们通常提供对共享资源的锁定功能。因此,如果一个新线程想要访问这个锁定的共享资源——它要么退出,要么必须不断地轮询锁(并浪费处理器周期等待锁)。
然而,监视器有条件变量,它为等待线程提供了一种更加异步的方式——通过将它们放在等待队列中,从而不使它们消耗处理器周期。
这是监视器相对于互斥锁(或任何没有条件变量的通用锁定机制)的唯一优势吗?
根据我对互斥锁的了解——它们通常提供对共享资源的锁定功能。因此,如果一个新线程想要访问这个锁定的共享资源——它要么退出,要么必须不断地轮询锁(并浪费处理器周期等待锁)。
然而,监视器有条件变量,它为等待线程提供了一种更加异步的方式——通过将它们放在等待队列中,从而不使它们消耗处理器周期。
这是监视器相对于互斥锁(或任何没有条件变量的通用锁定机制)的唯一优势吗?