Concurrency 信号量和互斥量,哪一个更快? 如果考虑二进制信号量和互斥体,哪一个更快?我的意思是,需要更少的指导。与信号量相比,互斥体还保留了哪些额外的数据?

Concurrency 信号量和互斥量,哪一个更快? 如果考虑二进制信号量和互斥体,哪一个更快?我的意思是,需要更少的指导。与信号量相比,互斥体还保留了哪些额外的数据?,concurrency,synchronization,mutex,semaphore,Concurrency,Synchronization,Mutex,Semaphore,这取决于实现,但您可能会发现互斥体的实现速度稍微快一些。互斥锁通常通过test和set实现,而信号量通常通过test和increment实现,或者作为互斥锁来保护递增的变量 我建议在大多数情况下使用互斥,但不是因为速度;因为使用互斥体编写的代码更容易理解,因为语义不那么复杂

这取决于实现,但您可能会发现互斥体的实现速度稍微快一些。互斥锁通常通过test和set实现,而信号量通常通过test和increment实现,或者作为互斥锁来保护递增的变量

我建议在大多数情况下使用互斥,但不是因为速度;因为使用互斥体编写的代码更容易理解,因为语义不那么复杂