1# ArkTS 应用多线程开发 2 3### 介绍 4 5ArkTS应用开发过程中,需要用到并发能力的业务场景很多,不同业务场景需要使用的并发能力不同,对应的主要任务类型也不同。 6 7针对常见的业务场景,主要可以对应分为三种并发任务: 8 9[耗时任务](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/time-consuming-task-overview.md):业务逻辑包含较大计算量或多次I/O读写等需要长时间执行的任务。 10 11[长时任务](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/long-time-task-overview.md):业务逻辑包含监听或定期采集数据等需要长时间保持运行的任务。 12 13[常驻任务](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/resident-task-overview.md):业务逻辑跟随主线程生命周期或与主线程绑定的任务。 14 15不同任务类型下可再细划分,比如典型的耗时任务有CPU密集型任务、I/O密集型任务以及同步任务,分别对应的典型业务场景也不相同。请开发者根据场景任务类型对应选择并发能力。 16 17该工程中展示的代码详细描述可查如下链接: 18 19- [CPU密集型任务开发指导 (TaskPool和Worker)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/cpu-intensive-task-development.md) 20- [I/O密集型任务开发指导 (TaskPool)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/io-intensive-task-development.md) 21- [同步任务开发指导 (TaskPool和Worker)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/sync-task-development.md) 22- [长时任务开发指导(TaskPool)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/long-time-task-guide.md) 23- [常驻任务开发指导(Worker)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/arkts-utils/resident-task-guide.md) 24 25### 效果预览 26 27| 首页 | 执行及结果即时反 | 28| :---------------------------------------------------------------------------: | :---------------------------------------------------------------------------: | 29| <img src="./screenshots/ApplicationMultithreading_1.png" style="zoom:33%;" /> | <img src="./screenshots/ApplicationMultithreading_2.png" style="zoom:33%;" /> | 30 31### 使用说明 32 331. 在主界面中,点击任意功能按钮可跳转至相应页面,随后点击界面显示的文本字符串即可触发程序执行。 342. 执行结果会即时反馈在屏幕中央,并在控制台打印log。 35 36### 工程目录 37 38``` 39entry/src/ 40 ├── main 41 │ ├── ets 42 │ │ ├── entryability 43 │ │ ├── entrybackupability 44 │ │ ├── managers 45 │ │ ├── CpuIntensiveTaskDevelopment.ets // CPU密集型任务开发指导 46 │ │ ├── IoIntensiveTaskDevelopment.ets // I/O密集型任务开发指导 47 │ │ ├── LongTimeTaskGuide.ets // 长时任务开发指导 48 │ │ ├── ResidentTaskGuide.ets // 常驻任务开发指导 49 │ │ ├── SyncTaskDevelopment.ets // 同步任务开发指导 50 │ │ ├── write.ets // I/O密集型任务开发指导 51 │ │ ├── pages 52 │ │ ├── Index.ets // 首页 53 │ │ ├── util 54 │ │ ├── CommonButton.ets // 首页跳转UI 55 │ │ ├── resource.ets // 资源引用转换 56 │ │ ├── workers 57 │ │ ├── handle.ts // 同步任务开发指导 58 │ │ ├── MyWorker1.ts // CPU密集型任务开发指导 59 │ │ ├── MyWorker2.ts // 同步任务开发指导 60 │ │ ├── Worker.ets // 常驻任务开发指导 61 │ ├── module.json5 62 │ └── resources 63 ├── ohosTest 64 │ ├── ets 65 │ │ ├── test 66 │ │ ├── Ability.test.ets // 自动化测试代码 67``` 68 69### 相关权限 70 71不涉及。 72 73### 依赖 74 75不涉及。 76 77### 约束与限制 78 791.本示例仅支持标准系统上运行, 支持设备:RK3568。 80 812.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.57,镜像版本号:OpenHarmony_5.0.2.58。 82 833.本示例需要使用DevEco Studio 5.0.1 Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。 84 85### 下载 86 87如需单独下载本工程,执行如下命令: 88 89``` 90git init 91git config core.sparsecheckout true 92echo code/DocsSample/ArkTS/ArkTsConcurrent/ApplicationMultithreadingDevelopment/ApplicationMultithreading > .git/info/sparse-checkout 93git remote add origin https://gitee.com/openharmony/applications_app_samples.git 94git pull origin master 95``` 96