1、程序简介
该程序是基于OpenHarmony的C++公共基础类库的线程处理:Thread。
该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即OpenHarmony-v3.2.1-release)运行正常,详细说明及案例源代码可参考:凌蒙派-RK3568开发板-OpenHarmony: 该库为凌蒙派RK3568开发板的OpenHarmony gitee仓,由福州市凌睿智捷电子有限公司出品 - Gitee.com
本案例完成如下工作:
-
主线程每1秒打印子进程的相关信息。主线程在第5秒时,关闭子线程运行。
-
创建1个子线程,每隔1秒打印当前运行次数。
2、基础知识
C++公共基础类库为标准系统提供了一些常用的C++开发工具类,包括:
-
文件、路径、字符串相关操作的能力增强接口
-
读写锁、信号量、定时器、线程增强及线程池等接口
-
安全数据容器、数据序列化等接口
-
各子系统的错误码相关定义
2.1、添加C++公共基础类库依赖
修改需调用模块的BUILD.gn,在external_deps或deps中添加如下:
ohos_shared_library("xxxxx") {
...
external_deps = [
...
# 动态库依赖(可选)
"c_utils:utils",
# 静态库依赖(可选)
"c_utils:utilsbase",
# Rust动态库依赖(可选)
"c_utils:utils_rust",
]
...
}
一般而言,我们只需要填写"c_utils:utils"即可。
2.2、Thread头文件
本案例主要说明线程类提供的相关接口,例如:启动线程、同步通知、异步通知等功能的接口。
C++公共基础类库的Thread头文件在://commonlibrary/c_utils/base/include/thread_ex.h
可在源代码中添加如下:
#include <thread_ex.h>
命令空间如下:
OHOS::Thread
2.3、OHOS::Thread接口说明
thread_ex.h定义Thread类,该类负责定义Thread类以及相关接口。
2.3.1、Thread
构造函数, 构造一个Thread对象,但并不会启动线程。
Thread();
2.3.2、~Thread
析构函数。
virtual ~Thread();
2.3.3、Start
创建并启动一个子线程,循环执行Run(),当Run()返回false或通知退出时停止。
ThreadStatus Start(const std::string& name, int32_t priority = THREAD_PROI_NORMAL, size_t stack = 0);
参数说明:
| 参数名称 | 类型 | 参数说明 |
|---|---|---|
| name | std::string | 线程名称 |
| priority |

最低0.47元/天 解锁文章
439

被折叠的 条评论
为什么被折叠?



