• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jssyxzy
V2EX  ›  程序员

进程,线程同步方式中条件变量和信号量有什么区别吗?

  •  
  •   jssyxzy · May 12, 2018 · 3436 views
    This topic created in 2925 days ago, the information mentioned may be changed or developed.

    感觉没什么区别。

    2 replies    2018-05-12 23:05:54 +08:00
    jimzhong
        1
    jimzhong  
       May 12, 2018
    使用 mutex 和 condition 可以模拟 semaphore.
    vegito2002
        2
    vegito2002  
       May 12, 2018
    条件变量本身一般就是用信号量实现的. 反过来用条件变量实现信号量也可以, 不过那个是搞着玩的.
    Linux 的信号量好像还可以维护等待人的数量, 条件变量我记得好像是不可以?
    严格来说条件变量能做的都能用信号量来做, 不过麻烦一些. 锁和条件变量实际上是信号量的两种不同的高层抽象, 让使用更方便一些, 其实就是对应初始值分别是 1 和 0 的信号量.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3012 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:20 · PVG 12:20 · LAX 21:20 · JFK 00:20
    ♥ Do have faith in what you're doing.