HarmonyOS 怎么解决worker的postMessage()频繁调用时,worker的onMessage()内的内容执行会滞后
音频录制并实时分析录制数据。在AudioCapturer的on回调中调用postMessage()传递录制数据到worker里面,然后再worker里面把录制数据缓存到一个比较大的buffer里面,同时调用分析逻辑进行分析。录制时每次的回调数据大小为2580现象:实际debug时,AudioCapturer停止录制时,on回调已经停止了但worker里面的处理逻辑还没有停止,还在执行,直到onmessage和on的次数一致才结束。
问题:
(1)worker的postMessage()是否是维护了一个队列然后对逐个进行出队执行?
(2)可以怎么样解决这种滞后情况?或者有什么别的方法可以实现不会出现输出滞后的情况。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS Worker callGlobalCallObjectMethod 调用方法的执行线程
385浏览 • 1回复 待解决
可以在一个Worker中调用worker.postMessage方法,向另一个Worker发送消息么?
1943浏览 • 1回复 待解决
HarmonyOS 用Worker的时候,如果在onmessage中加上一个未序列化的类方法,则onmessage不会触发
165浏览 • 1回复 待解决
TaskPool和Worker中任务的执行调度方式是怎样的?
1044浏览 • 1回复 待解决
har包里的worker如何在entry包内使用
2496浏览 • 1回复 待解决
HarmonyOS Worker 的 terminate 方法在执行完毕所有任务后再销毁
298浏览 • 1回复 待解决
TaskPool与Worker的区别
2701浏览 • 1回复 待解决
HarmonyOS 能够在主线程给 Worker 传递一个函数,让这个函数在 Worker 的线程中执行么?
484浏览 • 1回复 待解决
HarmonyOS A模块调用B模块(ability模块),B模块的worker报错
862浏览 • 1回复 待解决
HarmonyOS Worker中怎么获取getContext()
373浏览 • 1回复 待解决
TaskPool和Worker的异同点
2517浏览 • 1回复 待解决
关于Worker使用咨询,请问library类型的module中是否可以使用Worker?
2588浏览 • 1回复 待解决
Worker无法识别ets后缀的文件
581浏览 • 1回复 待解决
HarmonyOS 怎么判断worker线程创建了几个?
352浏览 • 0回复 待解决
ets中创建Worker线程,创建Worker传入的url文件只能是js后缀吗?
4866浏览 • 1回复 待解决
HarmonyOS Worker相关问题
559浏览 • 1回复 待解决
HarmonyOS Worker使用问题
338浏览 • 1回复 待解决
利用worker子线程调用napi实现loop改写变量
1349浏览 • 1回复 待解决
#鸿蒙通关秘籍#ArkTS Worker使用时错误处理机制如何实现?
323浏览 • 1回复 待解决
HarmonyOS worker中如何进行本地文件的上传
545浏览 • 1回复 待解决
TaskPool和Worker之间的异同点是什么
1120浏览 • 1回复 待解决
Worker和TaskPool的线程数量是否有限制
2488浏览 • 1回复 待解决
Worker线程如何销毁?
597浏览 • 1回复 待解决
HarmonyOS Worker不响应问题
169浏览 • 1回复 待解决
Worker的宿主线程必须是主线程吗?
857浏览 • 1回复 待解决
Worker一旦被创建则不会主动被销毁,on回调停止,不代表worker逻辑处理完成,worker会继续进行数据处理,直到任务结束。
怎么解决滞后情况:添加异步并发,等待所有数据处理完成后再输出。