随笔分类 - boost
boost库的安装
摘要:1、网上下载boost_1_67_0.zip,解压 2、双击boost_1_67_0/bootstrap.bat文件,生成bjam.exe,b2.exe。 3、打开命令行运行 bjam stage --toolset=msvc-12.0 link=static runtime-link=static
阅读全文
定时器
摘要:io_service的任务执行流程:调用run方法,进入主loop;判断公有队列是否为空,不为空则取出任务并执行,当任务数大于1时同时唤醒其他空闲线程;任务执行结束,把各个线程的私有队里面的任务移动到公有任务队列里面。触发reactor,linux下面一般是epoll,当有事件时,把相应的事件的任务
阅读全文
同步socket处理
摘要:1.socket类是TCP通信的基本类,调用成员函数connect()可以连接到一个指定的通信端点,连接成功后用local_endpoint()和remote_endpoint()获得连接两端的端点信,用read_some()和write_some()阻塞读写数据,当操作完成后使用close()函数
阅读全文
future
摘要:thread库使用future范式提供了一种异步操作线程返回值的方法,因为这个返回值在现场开始执行时还是不可用的,是一个未来的期待值,所以被称为future。future使用packaged_task和promise两个模板类来包装异步调用,用unique_future和shared_future来
阅读全文
共享互斥量
摘要:共享互斥变量shared_mutex允许线程获取多个共享所有权和一个专享所有权,即多个读进程一个写进程。读锁定时使用boost::shared_lock<boost::shared_mutex>,写锁定时使用boost::unique_lock<boost::shared_mutex>。
阅读全文
条件变量
摘要:条件变量是thread库提供的一种用于等待的同步机制,可以实现线程间的通信,它必须与互斥量配合使用,等待另一个线程中某个事件的发生(满足某个条件),然后线程才能继续执行。 thread库提供两种条件变量对象condition_variable和condition_variable_any,一般情况下
阅读全文
线程
摘要:thread库位于名字空间boost,为了使用thread库需要包含头文件<boost/thread.hpp>。 thread对象是不可拷贝的。 当成功创建一个thread对象后,线程就立刻开始执行。 运行截图:
阅读全文
浙公网安备 33010602011771号