C++ 不推荐使用Boost
Boost.Signals不再被积极维护,因此已被弃用。不要将Boost.Signals用于新开发(而是使用Boost.Signals2)。如果现有的基于BooSt.Stand的代码,它将继续工作,但是考虑移到Booost。C++ 不推荐使用Boost,c++,boost,boost-signals,boost-signals2,C++,Boost,Boost Signals,Boost Signals2,Boost.Signals不再被积极维护,因此已被弃用。不要将Boost.Signals用于新开发(而是使用Boost.Signals2)。如果现有的基于BooSt.Stand的代码,它将继续工作,但是考虑移到Booost。 因此,不推荐使用信号。我对此感到困惑。据我所知,Signals2是Signals的多线程版本。但是如果我不需要多线程使用信号呢?给我一些开销好吗?我可以使用boost::signals2::trackable吗?在单线程应用程序中使用Signals2会有任何缺点吗?在单线
因此,不推荐使用信号。我对此感到困惑。据我所知,Signals2是Signals的多线程版本。但是如果我不需要多线程使用信号呢?给我一些开销好吗?我可以使用boost::signals2::trackable吗?在单线程应用程序中使用Signals2会有任何缺点吗?在单线程应用程序中使用多线程安全代码总是可以的。您可能会因为过于小心或通过无用的锁定而获得一些开销,但它总是有效的。我也不担心性能受到影响——这不太可能成为瓶颈 据我所知,Signals2是Signals的多线程版本。但是 如果我不需要多线程使用信号怎么办?我要买一些吗 头顶 在单线程环境中,使用
虚拟互斥体
,如下所示
我可以使用boost::signals2::trackable吗
是的,你可以使用它,但请记住,它不会。因此,如果您最终决定将模块调整为多线程环境,则必须重新设计插槽