【发布时间】:2011-12-19 16:07:47
【问题描述】:
我的应用程序可能受益于使用 boost 的信号库之一而不是自主开发的解决方案。
应用程序是多线程的,但进行信号处理的部分是单线程的。
如果多线程不是问题,是否有任何理由更喜欢 Boost.Signals2 而不是 Boost.Signal?
【问题讨论】:
-
确保你也考虑libtscb——它的performance comparisons特别值得注意。
-
@ildjarn:不幸的是,libtscb 需要 GCC。我不知道库的其余部分,但原子仅针对 GCC 实现。一旦 Visual Studio 获得 C++11
std::atomic,它就可以轻松移植。 -
另一种选择是使用当前正在审核的Boost.Atomics :-]
-
另外,如果您还没有看到,Signal2 文档已经列出了 Signals 的主要更改,包括与线程安全无关的增强或删除功能:Signals2 API Changes
-
另一个需要考虑的库可能是 Sarah Thompson 的 Sigslots:sigslot.sourceforge.net
标签: c++ boost signals-slots boost-signals