我从xlobjects切换到boost::signals2作为我的信号/槽框架,希望连接的建立、the的删除、信号的发送等都是线程安全的。我对线程间的信号发射一点也不感兴趣。
所以简单的问题是: boost::signals2线程是否安全,例如,两个或更多线程可以在同一信号上建立连接?
另外,与xlobjects相比,boost::signals2是否会导致性能损失?这并不重要,因为应用程序不太依赖信号/插槽,但我还是想知道。
发布于 2010-11-18 17:45:45
我相信你需要的关于boost.signal中线程安全的所有答案都在the documentation中(简而言之:是的,boost:signals2是线程安全的)。关于性能,我想线程安全是有代价的,但只有一种方法可以确保:基准测试!
发布于 2015-05-15 12:49:18
boost signals2是线程安全的。
但是如果出于某些原因你需要额外的性能,并且可以保证单线程访问,那么在signals2库中有一个虚拟互斥锁,它将比真正的互斥锁快得多。
https://stackoverflow.com/questions/4213345
复制相似问题