【问题标题】:Performance of boost::signals2boost::signals2 的性能
【发布时间】:2011-05-11 22:21:07
【问题描述】:

我正在从 xlobjects 切换到 boost::signals2 作为我的信号/插槽框架,希望建立连接、删除三重、信号发射等是线程安全的。我对线程间信号发射根本不感兴趣。

所以简单的问题是:boost::signals2 线程是否安全,例如,两个或多个线程可以在同一个信号上建立连接?

另外,与 xlobjects 相比,boost::signals2 会导致性能损失吗?这并不重要,因为应用程序不严重依赖信号/插槽,但我还是想知道。

【问题讨论】:

    标签: c++ multithreading signals slots


    【解决方案1】:

    boost signals2 是线程安全的。

    但如果出于某种原因您需要额外的性能,并且可以保证单线程访问,signals2 库中有一个虚拟互斥锁,它会比真正的互斥锁快很多。

    【讨论】:

      【解决方案2】:

      我相信您需要的关于 boost.signal 中线程安全的所有答案都在 the documentation 中(简短回答:是的,boost:signals2 是线程安全的)。关于性能,我想线程安全是有代价的,但只有一种方法可以确定:基准测试!

      【讨论】:

        猜你喜欢
        • 2014-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-15
        • 1970-01-01
        • 1970-01-01
        • 2011-12-15
        相关资源
        最近更新 更多