【问题标题】:Semaphore and mutex, which one is faster?信号量和互斥量,哪个更快?
【发布时间】:2011-02-10 05:30:41
【问题描述】:

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

【问题讨论】:

    标签: concurrency synchronization mutex semaphore


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2017-08-24
      • 1970-01-01
      • 2016-08-30
      • 2012-09-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      相关资源
      最近更新 更多