鸿蒙开发异步与线程

鸿蒙对于异步提供了三种处理方式(注意这里是异步,不是特指线程):

1.JS原生的Promise异步

2.taskPool线程

3.worker常驻线程

Promise异步

对于我们做 Android开发,经常提到异步,就习惯性的认为是起个子线程来执行。但是当我们做鸿蒙开发时候,要注意Promise异步和线程两个概念不同。

1.Promise异步仍然是在当前线程中运行任务,结果以异步方式返回(接口回调方式)

2.当我们对某个方法定义为Promise异步执行,那么当前线程就会在空闲时候执行当前方法,结果以异步方式返回

对比Promise,taskPool和worker

1.对于单次IO,非阻塞性任务,可以使用Promise

2.对于UI刷新频繁的场景,不推荐使用Promise执行一些耗时逻辑,可能会造成UI刷新卡顿或者Promise逻辑无法得到执行

3.对于IO密集型任务,非常驻任务,建议使用taskPool执行。控制好时间,不要超过3分钟

4.对于常驻任务,使用worker

5.对于耗时,阻塞任务使用worker

6.使用Promise时候不需要考虑多线程问题,使用worker和taskPool时候,如果对文件进行写操作,注意多线程问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DDR3与MIG IP核详解(一)

一、ddr3(全称第三代双倍速率同步动态随机存储器): 1、特点:1:掉电无法保存数据,需要周期性的刷新。2:时钟上升沿和下降沿都会传输数据。 3:突发传输,突发长度 Burst Length一般为…

多模态和大模型原理

一、图文匹配原理 Clip 通过图像编码器和照片编码器将两者区分成N项,然后让它们相互内积,能够匹配得上的则内积值为1,不能够匹配上的则内积为-1,也就是负样本,如上图,除了对角线的正样本,周围…

15 go语言(golang) - 并发编程goroutine原理及数据安全

底层原理 Go 的 goroutine 是一种轻量级的线程实现,允许我们在程序中并发地执行函数。与传统的操作系统线程相比,goroutine 更加高效和易于使用。 轻量级调度 用户态调度:Go 运行时提供了自己的调度器,这意味着 goroutine 的创建…

Flink细粒度的资源管理

Apache Flink致力于为所有应用程序自动导出合理的默认资源需求。对于希望根据其特定场景微调其资源消耗的用户,Flink提供了细粒度的资源管理。这里我们就来看下细粒度的资源管理如何使用。(注意该功能目前仅对DataStream API有用) 1. 适用场景 使用细粒度的资源管理的可能…

《操作系统 - 清华大学》5 -5:缺页异常

文章目录 1. 缺页异常的处理流程2.在何处保存未被映射的页?3. 虚拟内存性能 1. 缺页异常的处理流程 缺页中断的处理过程: CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表; 由于页表项的存在位为0,CP…

​智能马桶蓝牙芯片方案

RAMSUN提供的智能马桶蓝牙芯片方案通过蓝牙低功耗(BLE)技术,智能马桶能够实现远程固件升级,即OTA(Over-The-Air)功能。用户无需亲自操作复杂的升级步骤,只需通过智能设备即可完成固件的更新&…

Linux-NFS

文章目录 NASNFSNFS配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月27日12点50分 NAS 网络接入存储 共享存储文件存储 NAS设备包括 NAS引擎一个或多个网络接口一个操作系统…

【智能制造-44】装配仿真

装配仿真包含以下功能模块: 零件建模与导入模块 功能描述: 能够创建简单的几何零件,如立方体、圆柱体、球体等基本形状。这对于一些标准件或者形状规则的零件来说,可以直接在装配仿真软件中生成,方便快捷。 支持多种…

OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

本文介绍在开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,感兴趣…

常见点云文件格式详解及其应用分析【实践无坑版】

点云文件是存储三维点云数据的核心形式,广泛应用于机器人、自动驾驶、三维建模和增强现实等领域。点云文件不仅保存空间坐标,还可包含颜色、强度、法向量等附加信息,不同格式的点云文件适配不同的传感器和研究需求 本文将详细介绍常见点云文件…

vue3 多种方式接受props,定义ref,reactive

定义props 1 第一种 interface AddType { dialogStudyVisible: boolean; } const props defineProps<AddType>(); 第二种 // const props defineProps({ // dialogStudyVisible:{ // type:Boolean, // default:false // } // }) 第三种 // const …

杰发科技AC7803——不同晶振频率时钟的配置

计算公式 PLL_POSDIV [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62] PLL_PREDIV_1 1 2 4 USE_XTAL 24M SYSCLK_FREQ 64M SYSCLK_DIVIDER 1 VCO USE_XTAL*…

面向对象进阶-抽象类

抽象方法 将共性行为&#xff08;方法&#xff09;抽取到父类&#xff0c;由于每个子类执行内容不一样&#xff0c;在父类不能确定具体的方法体&#xff0c;该方法可以定义为抽象方法。 抽象类&#xff1a;如果一个类中存在抽象方法&#xff0c;那么该 类必须声明为抽象类。…

【数据结构专栏】二叉搜索树(Binary Search Tree)的剖析?

文章目录 &#x1f9e8;前言1、二叉搜索树的基本概念&#xff1f;2、二叉搜索树的节点结构组成&#xff1f;3、二叉搜索树的插入操作&#xff1f;4、二叉搜索树的删除操作&#xff1f;5、二叉搜索树的遍历&#xff1f;6、二叉搜索树的性能分析&#xff1f;&#x1f389;完整代码…

分布式调用 - 服务间的远程调用RPC

文章目录 导图PreRPC 概述RPC 调用过程RPC 动态代理1. 接口定义 (SeverProvider)2. 实现类 (ServerProviderImpl)3. 动态代理类 (DynamicProxy)4. 客户端 (Client)5. 代码工作流程6. 总结和注意点7. 结果输出8. 小结 RPC 序列化协议编码网络传输 导图 服务和应用的调用基于场景…

vue3项目搭建-4-正式启动项目,git管理

安装插件&#xff1a; npm install vue router npm install eslint 完成目录&#xff1a; 需要添置文件夹&#xff1a; apis -> api接口 composables -> 组合函数 directives -> 全局指令 styles -> 全局样式 utils -> 工具函数 git 管理&#xff1a; …

GPON原理

GPON网络架构 对于OLT来说&#xff0c;它就相当于一个指挥官&#xff0c;它指挥PON口下的ONU在指定的时间段内发送数据以及发起测距过程等 而ONU则是一个士兵&#xff0c;按照OLT的指挥做出相应 而ODN它主要就是提供一个传输通道&#xff0c;主要包括分光器和光纤组成 对于PO…

SJYP 24冬季系列 FROZEN CHARISMA发布

近日&#xff0c;女装品牌SJYP 2024年冬季系列——FROZEN CHARISMA已正式发布&#xff0c;展现了更加干练的法式风格。此次新品发布不仅延续了SJYP一贯的强烈设计风格和个性时尚&#xff0c;更融入了法式风情的干练元素&#xff0c;为消费者带来了一场视觉与穿着的双重盛宴。  …

【H2O2|全栈】JS进阶知识(十一)axios入门

目录 前言 开篇语 准备工作 获取 介绍 使用 结束语 前言 开篇语 本系列博客主要分享JavaScript的进阶语法知识&#xff0c;本期主要对axios进行基本的了解。 与基础部分的语法相比&#xff0c;ES6的语法进行了一些更加严谨的约束和优化&#xff0c;因此&#xff0c;在…

git使用文档手册

创建一个本地代码工作空间&#xff0c;比如这里使用test目录作为工作目录 针对仓库地址 http://192.168.31.125:9557/poxiaoai-crm/project-crm.git。 1. 安装 Git 确保您的系统已经安装了 Git。如果未安装&#xff0c;请根据操作系统访问 Git 官网 下载并安装。 验证安装 …