开源软件:ThreadPool C++ 线程池
源码及编译使用
源码地址:ThreadPool
源码及编译cmake 文件 : ThreadPool
编译
运行:
源码分析
std::future
future
std::future类模板定义头文件,其函数声明如下:
对于future补充说明如下:
- std::async 、 std::packaged_task 或 std::promise 能提供一个std::future对象给该异步操作的创建者
- 异步操作的创建者能用各种方法查询、等待或从 std::future 提取值。若异步操作仍未提供值,则这些方法可能阻塞。
- 异步操作准备好发送结果给创建者时,它能通过接口(eg,std::promise::set_value std::future) 修改共享状态的值。
std::future使用
下面就用std::future对象来获取异步操作的结果,没有使用到全局变量,逻辑非常清晰,代码如下:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!