在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
等。