如果您所做的只是等待它完成,为什么要使用异步
Why use async if all you do is wait for it to complete?
我遇到了一些这样的C++代码:
aThread->async( [=]() {
// ... do stuff ...
} ).wait();
如果您所做的只是等待线程完成,那么在线程上运行代码有什么意义? 为什么不将上面的代码替换为:
// ... do stuff ...
是的,我同意。创建一个线程,然后等待线程完成,这几乎没有什么用处。
也许 aThread 拥有完成工作所必需的资源,您不能使用它们或在调用线程中创建它们。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 为什么在全局范围内使用"extern int a"似乎不行?
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 为什么会发生堆损坏
- 为什么使用 "this" 指针调用派生成员函数?
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 为什么比较运算符如此快速
- 为什么for循环中的异步不能提高执行时间
- 如果 Proactor 设计模式优于异步 I/O,为什么它在 ASIO 中不是默认值?
- 为什么使用openMP的VC++矩阵时间矢量比异步更快
- 如果您所做的只是等待它完成,为什么要使用异步
- 为什么C++异步按顺序运行而没有未来
- 为什么在读取非HTTP服务器的套接字时需要异步IO
- 为什么异步线程中的"Isolate::GerCurrent()"为空?
- 为什么 QTimer 不是异步的?
- 为什么异步事件不能用c++异常处理
- 为什么首选异步IO
- Boost Asio-为什么我的异步操作没有启动