在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;
}
无论使用哪种方法,异步编程都需要注意线程安全性和资源管理,避免出现竞态条件和内存泄漏等问题。