据我理解,互斥锁(mutex)和二进制信号量(binary semaphore)非常相似,但我想知道在使用互斥锁优于二进制信号量或者反之的一些具体应用场景或情况。
据我理解,互斥锁(mutex)和二进制信号量(binary semaphore)非常相似,但我想知道在使用互斥锁优于二进制信号量或者反之的一些具体应用场景或情况。
互斥锁(mutex)和二进制信号量(binary semaphore)之间的一个重要区别在于,线程不能解锁由另一个线程锁定的互斥锁(锁定互斥锁的线程是唯一的所有者):互斥锁仅用于临界区。在这种情况下,应该使用等待条件。虽然不太常见,但可以使用信号量来完成这个任务。有关优先级反转和安全性的其他注意事项,请参见此处。