OpenHarmony系统之C++线程异步回调JS机制详解
#include <iostream>
#include <thread>
#include <functional>
// 定义一个简单的回调函数类型
using Callback = std::function<void()>;
// 异步调用的函数
void AsyncCall(const Callback& callback) {
std::thread([callback]() {
// 执行一些异步操作
std::this_thread::sleep_for(std::chrono::seconds(1));
// 调用回调函数
callback();
}).detach();
}
// 回调函数的实现
void OnComplete() {
std::cout << "异步操作完成!" << std::endl;
}
int main() {
// 使用AsyncCall函数进行异步操作,并指定回调函数
AsyncCall(OnComplete);
// 主线程继续执行其他任务
std::cout << "主线程继续执行其他任务..." << std::endl;
return 0;
}
这段代码展示了如何在C++中使用std::function
和std::thread
来实现一个简单的异步操作和回调机制。AsyncCall
函数接收一个Callback
类型的参数,该参数是一个无参数无返回值的函数。在异步操作完成后,会调用这个回调函数。这个例子简单易懂,适合作为OpenHarmony系统中C++线程异步回调机制的一个入门示例。
评论已关闭