监视器和信号量之间的主要区别是什么?

信号量是一种编程概念,经常用于解决多线程问题。我对社区的问题是:什么是信号量,如何使用它?

我听说过这些与并发编程有关的词,但是锁、互斥量和信号量之间有什么区别呢?

二进制信号量和互斥量之间有区别吗?或者它们本质上是相同的?