阅读量:0
在C++中实现异步操作有多种方法,以下是其中一种使用std::async
的简单示例:
#include <iostream> #include <future> #include <chrono> int fetchData() { // 模拟耗时操作 std::this_thread::sleep_for(std::chrono::seconds(2)); return 42; } int main() { // 使用std::async创建一个异步任务 std::future<int> future_result = std::async(std::launch::async, fetchData); // 在主线程中可以执行其他操作 // 获取异步操作的结果 int result = future_result.get(); // 输出结果 std::cout << "Result: " << result << std::endl; return 0; }
在上面的示例中,fetchData
函数模拟了一个耗时的操作,通过std::async
创建了一个异步任务,并在主线程中执行其他操作。最后通过future_result.get()
获取异步操作的结果。其他的实现方法还有使用std::thread
、boost::asio
等。