在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;
}