Tag: std::future

C++的异步编程: std::future, std::async 和 std::promise

在 C++ 中,std::future 和 std::async 是 C++11 标准 并发库的一部分。它们允许您异步/Asynchronous运行任务并在稍后获取结果,非常适合编写非阻塞代码和并行化计算。以下是它们的工作原理和典型用法。 C++ std::async std::async 是一个高级函数,允许您异步启动一个任务(一个可调用对象,如函数或 lambda)。您指定要运行的函数,std::async 返回一个表示该 函数结果的 std::future。您可以稍后获取该结果,无论是任务完成时还是您需要时。 #include <iostream> #include <future> #include <chrono> int compute() { std::this_thread::sleep_for(std::chrono::seconds(2)); // 模拟工作 …