Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 不推荐使用Boost_C++_Boost_Boost Signals_Boost Signals2 - Fatal编程技术网

C++ 不推荐使用Boost

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会有任何缺点吗?在单线

Boost.Signals不再被积极维护,因此已被弃用。不要将Boost.Signals用于新开发(而是使用Boost.Signals2)。如果现有的基于BooSt.Stand的代码,它将继续工作,但是考虑移到Booost。


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

在单线程应用程序中使用多线程安全代码总是可以的。您可能会因为过于小心或通过无用的锁定而获得一些开销,但它总是有效的。我也不担心性能受到影响——这不太可能成为瓶颈

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

在单线程环境中,使用
虚拟互斥体
,如下所示

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

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