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
待解决
相关问题
可以在一个Worker中调用worker.postMessage方法,向另一个Worker发送消息么?
1766浏览 • 1回复 待解决
TaskPool和Worker中任务的执行调度方式是怎样的?
517浏览 • 1回复 待解决
har包里的worker如何在entry包内使用
2144浏览 • 1回复 待解决
HarmonyOS Worker 的 terminate 方法在执行完毕所有任务后再销毁
28浏览 • 1回复 待解决
TaskPool与Worker的区别
2091浏览 • 1回复 待解决
HarmonyOS 能够在主线程给 Worker 传递一个函数,让这个函数在 Worker 的线程中执行么?
77浏览 • 1回复 待解决
HarmonyOS A模块调用B模块(ability模块),B模块的worker报错
433浏览 • 1回复 待解决
TaskPool和Worker的异同点
2317浏览 • 1回复 待解决
Worker无法识别ets后缀的文件
374浏览 • 1回复 待解决
HarmonyOS 怎么判断worker线程创建了几个?
192浏览 • 0回复 待解决
关于Worker使用咨询,请问library类型的module中是否可以使用Worker?
2093浏览 • 1回复 待解决
ets中创建Worker线程,创建Worker传入的url文件只能是js后缀吗?
4720浏览 • 1回复 待解决
HarmonyOS Worker相关问题
49浏览 • 1回复 待解决
HarmonyOS Worker使用问题
31浏览 • 1回复 待解决
Worker和TaskPool的线程数量是否有限制
1946浏览 • 1回复 待解决
TaskPool和Worker之间的异同点是什么
727浏览 • 1回复 待解决
#鸿蒙通关秘籍#ArkTS Worker使用时错误处理机制如何实现?
116浏览 • 1回复 待解决
利用worker子线程调用napi实现loop改写变量
1077浏览 • 1回复 待解决
Worker的宿主线程必须是主线程吗?
446浏览 • 1回复 待解决
Worker线程如何销毁?
428浏览 • 1回复 待解决
Worker和TaskPool的线程数是否受到限制?
518浏览 • 1回复 待解决
Worker多线程的使用,有谁知道啊?
1026浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙Worker线程通信的最佳实践
127浏览 • 1回复 待解决
怎么执行调用方传入的Promise或AsyncCallback回调
813浏览 • 1回复 待解决
Worker一旦被创建则不会主动被销毁,on回调停止,不代表worker逻辑处理完成,worker会继续进行数据处理,直到任务结束。
怎么解决滞后情况:添加异步并发,等待所有数据处理完成后再输出。