在C++中進行異步編程通常使用多線程或者異步任務庫來實現。以下是一些常見的方法來調用異步任務:
#include <iostream>
#include <future>
int async_task()
{
return 42;
}
int main()
{
std::future<int> result = std::async(std::launch::async, async_task);
std::cout << "Result: " << result.get() << std::endl;
return 0;
}
#include <iostream>
#include <thread>
void async_task()
{
std::cout << "Async task running in thread " << std::this_thread::get_id() << std::endl;
}
int main()
{
std::thread t(async_task);
t.join();
return 0;
}
無論使用哪種方法,異步編程都需要注意線程安全性和資源管理,避免出現競態條件和內存泄漏等問題。