随笔分类 -  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 阅读全文
posted @ 2018-12-20 21:59 acgame 阅读(262) 评论(0) 推荐(0)
异步socket处理
摘要:服务器端: 客户端: 阅读全文
posted @ 2018-05-31 00:27 acgame 阅读(2184) 评论(0) 推荐(0)
定时器
摘要:io_service的任务执行流程:调用run方法,进入主loop;判断公有队列是否为空,不为空则取出任务并执行,当任务数大于1时同时唤醒其他空闲线程;任务执行结束,把各个线程的私有队里面的任务移动到公有任务队列里面。触发reactor,linux下面一般是epoll,当有事件时,把相应的事件的任务 阅读全文
posted @ 2018-05-30 23:26 acgame 阅读(220) 评论(0) 推荐(0)
同步socket处理
摘要:1.socket类是TCP通信的基本类,调用成员函数connect()可以连接到一个指定的通信端点,连接成功后用local_endpoint()和remote_endpoint()获得连接两端的端点信,用read_some()和write_some()阻塞读写数据,当操作完成后使用close()函数 阅读全文
posted @ 2018-05-30 23:25 acgame 阅读(609) 评论(0) 推荐(0)
future
摘要:thread库使用future范式提供了一种异步操作线程返回值的方法,因为这个返回值在现场开始执行时还是不可用的,是一个未来的期待值,所以被称为future。future使用packaged_task和promise两个模板类来包装异步调用,用unique_future和shared_future来 阅读全文
posted @ 2018-05-30 00:29 acgame 阅读(638) 评论(1) 推荐(1)
共享互斥量
摘要:共享互斥变量shared_mutex允许线程获取多个共享所有权和一个专享所有权,即多个读进程一个写进程。读锁定时使用boost::shared_lock<boost::shared_mutex>,写锁定时使用boost::unique_lock<boost::shared_mutex>。 阅读全文
posted @ 2018-05-29 22:57 acgame 阅读(226) 评论(0) 推荐(0)
条件变量
摘要:条件变量是thread库提供的一种用于等待的同步机制,可以实现线程间的通信,它必须与互斥量配合使用,等待另一个线程中某个事件的发生(满足某个条件),然后线程才能继续执行。 thread库提供两种条件变量对象condition_variable和condition_variable_any,一般情况下 阅读全文
posted @ 2018-05-28 23:19 acgame 阅读(3319) 评论(0) 推荐(0)
线程
摘要:thread库位于名字空间boost,为了使用thread库需要包含头文件<boost/thread.hpp>。 thread对象是不可拷贝的。 当成功创建一个thread对象后,线程就立刻开始执行。 运行截图: 阅读全文
posted @ 2018-05-28 19:33 acgame 阅读(220) 评论(0) 推荐(0)