【问题标题】:replace spin lock with signal用信号替换自旋锁
【发布时间】:2010-10-30 21:42:37
【问题描述】:

我的多线程代码中有很多自旋锁,大部分时间它们都在等待其他线程工作,因此会占用大量 CPU。在 linux 中,我通常使用 pthread_cond_wait 和 pthread_cond_signal 来暂停线程并在收到信号时唤醒。 boost库中有这样的东西吗?快速浏览我找不到任何东西。

视觉工作室 2005

【问题讨论】:

    标签: c++ boost spinlock


    【解决方案1】:
    【解决方案2】:

    您正在寻找互斥体或信号量。 Boost 库确实支持Mutex and Semaphore

    互斥锁是一个二进制信号量,它被简单地认为是一个锁,只允许一个线程通过你的critical section

    计数semaphores 有助于简化某些锁(互斥锁)限制过多的情况。

    【讨论】:

    • Nupe,我在寻找条件变量
    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 2011-01-11
    • 2014-09-24
    • 2012-06-27
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多