c++ 异步线程示例
时间: 2023-11-24 12:50:25 浏览: 70
关于异步线程的例子
以下是一个C++的异步线程示例,使用了<future>库函数:
```c++
#include <iostream>
#include <future>
#include <chrono>
int main() {
// 异步执行一个函数
std::future<int> result = std::async([](){
std::this_thread::sleep_for(std::chrono::seconds(2)); // 模拟耗时操作
return 42;
});
// 主线程继续执行其他操作
std::cout << "Doing something else..." << std::endl;
// 等待异步操作完成并获取结果
int res = result.get();
// 输出结果
std::cout << "Result: " << res << std::endl;
return 0;
}
```
该示例中,我们使用了std::async函数异步执行了一个函数,该函数会休眠2秒钟,然后返回整数42。在主线程中,我们可以继续执行其他操作,而不必等待异步操作完成。最后,我们使用result.get()函数等待异步操作完成并获取结果,输出结果为“Result: 42”。
阅读全文