我听说过这些与并发编程有关的词,但是锁、互斥量和信号量有什么区别?
锁只允许一个线程进入被锁定的部分,并且该锁不与任何其他进程共享。
互斥锁与锁相同,但它可以是系统范围的(由多个进程共享)。
信号量与互斥量相同,但允许x个线程进入,例如,这可用于限制同时运行的 cpu、io 或 ram 密集型任务的数量。
您还拥有读/写锁,在任何给定时间允许无限数量的读者或 1 个作者。