harmony 鸿蒙线程间通信对象概述
线程间通信对象概述
在多线程并发场景中,例如通过TaskPool或Worker创建后台线程,不同线程间需要进行数据交互。由于线程间内存隔离,线程间通信对象必须通过序列化实现值拷贝或内存共享。
说明:
目前ArkTS支持线程间通信的对象有以下几种:
- 普通对象:可直接传递基本数据类型及自定义对象(需满足序列化规范)。
- ArrayBuffer对象:用于二进制数据的高效传递,适用于大段连续内存数据(如图片、音频原始数据)。
- SharedArrayBuffer对象:支持多线程共享内存,允许线程间直接访问同一块内存区域,提升数据传递效率。
- Transferable对象(NativeBinding对象):支持跨线程转移对象所有权(如文件描述符、图形资源等),转移后原线程不再拥有访问权限。
- Sendable对象:符合ArkTS语言规范的可共享对象,需通过@Sendable装饰器标记,并且满足Sendable约束,详情可查Sendable使用规则与约束。
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦