Boost.Signals已弃用

时间:2013-08-24 09:39:24

标签: c++ boost boost-signals boost-signals2

  

Boost.Signals不再被主动维护,因此已被弃用。不要将Boost.Signals用于新开发(改为使用Boost.Signals2)。如果你有基于Boost.Signals的代码,它将继续工作,但考虑转移到Boost.Signals2。

http://www.boost.org/users/history/version_1_54_0.html

因此,信号已被弃用。我对此感到困惑。据我所知,Signals2是Signals的多线程版本。但是如果我不需要使用信号的多线程呢?我会得到一些开销吗?我可以使用boost :: signals2 :: trackable吗?在单线程应用程序中使用Signals2会有任何缺点吗?

2 个答案:

答案 0 :(得分:2)

  

据我所知,Signals2是Signals的多线程版本。但   如果我不需要信号的多线程使用怎么办?我会得到一些吗?   开销?

在单线程环境中,使用dummy_mutexdescribed here

  

我可以使用boost :: signals2 :: trackable吗?

是的,您可以使用它,但请记住它不会是thread-safe approach。因此,如果您最终决定将模块调整为多线程环境,则必须重新设计插槽。

答案 1 :(得分:1)

在单线程应用程序中使用多线程安全代码总是可以的。由于过于小心或无用锁定,您可能会获得一些开销,但它始终有效。我不担心性能上升 - 它不太可能成为瓶颈。