C++ 本身不支持異步操作,但是可以通過使用多線程、異步編程庫(如 Boost.Asio 或 C++20 中的 std::jthread)或操作系統提供的異步 API(如 POSIX 異步 I/O 或 Windows 異步 I/O)來實現異步操作
例如,使用 C++11 的 std::thread 可以創建一個新線程來執行異步任務:
#include <iostream>
#include <thread>
void asyncTask() {
// 執行異步任務的代碼
}
int main() {
std::thread t(asyncTask); // 創建一個新線程來執行 asyncTask
t.detach(); // 分離線程,主線程繼續執行,新線程在后臺運行
return 0;
}
另外,C++20 引入了 std::jthread,它是一種更易于使用的線程類,可以自動管理線程的生命周期:
#include <iostream>
#include <thread>
void asyncTask() {
// 執行異步任務的代碼
}
int main() {
std::jthread t(asyncTask); // 創建一個新線程來執行 asyncTask
t.join(); // 等待線程完成
return 0;
}
如果你需要更高級的異步編程功能,可以考慮使用 Boost.Asio 庫。