HarmonyOS 鸿蒙Next 请问如何操控线程的looper
HarmonyOS 鸿蒙Next 请问如何操控线程的looper 我们当前场景希望有一个线程无限循环机制,但是目前的worker线程貌似只能通过postMessage进行推动,有没有类似于iOS中NSRunloop或者安卓的looper机制一样,创建好looper以后就能无线循环,我只要往他的事件队列里面扔消息。他就会在循环中先去处理消息队列,然后无消息了就trap休眠
可以参考这个文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-emitter
这个场景不需要一个线程去死循环,死循环比较暴力,定义一个事件,触发后执行回调就可以了,只要往他的事件队列里面扔消息
Emitter
Emitter模块提供了在同一进程不同线程间,或同一进程同一线程内,发送和处理事件的能力,包括持续订阅事件、单次订阅事件、取消订阅事件,以及发送事件到事件队列的能力。
特点:
FA与Stage都可以用
可以与worker搭配使用
commonEventManager
CommonEvent模块提供了公共事件相关的能力,包括发布公共事件、订阅公共事件、以及退订公共事件。
特点:
订阅系统的公共事件,比如低电量提示、开始充电等。
应用间通信,可以添加权限管控。
如何选择
主线程内通信:EventHub
主线程与Worker间通信:Emitter
应用间通信:commonEventManager
获取系统公共事件信息(低电量、充电信息):commonEventManager
commonEventManager 比如在多个线程订阅了事件,当事件发布时,多个线程都会响应
更多关于HarmonyOS 鸿蒙Next 请问如何操控线程的looper的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html