在C++中实现异步编程可以使用以下几种方式:
#include <iostream>
#include <thread>
void asyncFunction() {
// 耗时操作
std::this_thread::sleep_for(std::chrono::seconds(1));
std::cout << "Async operation completed" << std::endl;
}
int main() {
std::thread t(asyncFunction);
t.detach(); // 线程分离,不阻塞主线程
// 主线程继续执行其他操作
return 0;
}
#include <iostream>
#include <future>
int asyncFunction() {
// 耗时操作
std::this_thread::sleep_for(std::chrono::seconds(1));
return 42;
}
int main() {
std::future<int> result = std::async(std::launch::async, asyncFunction);
// 主线程可以继续执行其他操作
// 获取异步任务的结果
std::cout << "Async operation result: " << result.get() << std::endl;
return 0;
}