信号量和互斥量,哪一个更快?

时间:2011-02-10 05:30:41

标签: concurrency synchronization mutex semaphore

如果考虑二进制信号量和互斥量,哪一个更快?我的意思是,减少指示。与信号量相比,互斥体还有哪些额外的数据?

1 个答案:

答案 0 :(得分:8)

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

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