yum install boost -y
yum install boost-devel --allowerasing
Index of main/release/1.71.0/source
ubuntu安装boost的方法_暴躁的小小天的博客-CSDN博客_ubuntu安装boost
boost不编译使用
cp boost /usr/local/
vim ~/.bashrc
export CPLUS_INCLUDE_PATH=/usr/local/boost/include
CentOS 7 安装Boost 1.67_章志强的博客-CSDN博客_boost centos
st$ dpkg -S /usr/include/boost/version.hpp
libboost1.65-dev:amd64: /usr/include/boost/version.hpp
test@test-virtual-machine:/usr/include/boost$
yum -y install gcc-c++ python-devel bzip2-devel zlib-devel
tar jxvf boost_1_69_0.tar.bz2
./bootstrap.sh --prefix=/usr/local/boost
./b2 install
cd tools/build
./bootstrap.sh
./b2 install --prefix=/usr/local/boost
C++boost之asio strand
C++boost之asio strand_highnewrain的博客-CSDN博客_c++ strand
以c++ boost 1.66版本为例,类boost::asio::io_context::strand的主要作用是在asio中利用多线程进行事件处理的时候,如果涉及到多线程访问共享资源,借助于strand类,我们不需要显示的使用线程同步相关的类(比如mutex)就可以让多个事件处理函数依次执行。
简而言之,strand定义了事件处理程序的严格顺序调用。
我们知道,若多个线程调用了同一个io_context对象的run方法,那么该对象关联的多个事件处理函数 可能就会被不同的线程同时执行(即并发执行),若这些事件处理函数访问同一个非线程安全的共享资源时,就可能会产生线程同步问题。 但是若我们将这些事件处理函数bind到同一个strand对象上,那么asio库保证在上一个事件处理函数处理完成之前是没法执行下一个事件处理函数的(相当于阻止了并发执行)。
下面以deadline_timer调用为例
boost::scoped_ptr
[C++] Boost智能指针——boost::scoped_ptr(使用及原理分析) - helloamigo - 博客园
boost::scoped_ptr是一个比较简单的智能指针,它能保证在离开作用域之后它所管理对象能被自动释放。下面这个例子将介绍它的使用:
{
boost::scoped_ptr<Book> myBook(new Book());
}