c++中如何获取线程的返回值
时间: 2024-04-07 21:30:05 浏览: 178
C++11获取线程返回值的实现代码
在C++中,获取线程的返回值可以通过以下步骤完成:
1. 使用`std::thread`类创建一个线程,并指定要运行的函数或可调用对象。
2. 在创建线程时,将返回值存储在一个变量中,通常是使用`std::future`类。
3. 在线程执行完毕后,使用`std::future::get()`函数来获取返回值。
下面是一个示例代码:
```cpp
#include <iostream>
#include <thread>
#include <future>
int foo()
{
// 执行一些操作
return 42;
}
int main()
{
std::future<int> result = std::async(std::launch::async, foo); // 创建线程并获取返回值
// 其他操作...
int returnValue = result.get(); // 获取返回值
std::cout << "返回值为: " << returnValue << std::endl;
return 0;
}
```
在上面的示例中,`std::async()`函数用于创建一个异步任务,并将返回值存储在`std::future`对象中。然后,我们使用`std::future::get()`函数来获取线程的返回值。
阅读全文