HarmonyOS Worker线程中,如何保存成员对象?
当用Worker创建了一个线程之后,我想在worker里始终持有一个对象,如下:
const workerPort: ThreadWorkerGlobalScope = worker.workerPort;
const testBean: TestBean = new TestBean()
workerPort.onmessage = (e: MessageEvents) => {
testBean.count ++;
})
其中TestBean结构如下:
class TestBean {
count: number = 0
}
结果我发了10个消息,结果发现testBean里的count每次都是0,说明Worker中没有持有这个对象。
想问问老师怎么实现这个需求呢?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何使用TaskPool在子线程调用对象成员函数
444浏览 • 0回复 待解决
HarmonyOS Worker主线程和子线程共享对象问题
58浏览 • 2回复 待解决
如何在Worker中开启多级子线程
394浏览 • 1回复 待解决
Worker线程如何销毁?
428浏览 • 1回复 待解决
Worker线程内存如何共享
2332浏览 • 1回复 待解决
如何在taskpool的线程调用类的成员函数
960浏览 • 1回复 待解决
#鸿蒙通关秘籍#线程模型中,主线程和TaskPool Worker线程有啥区别?
173浏览 • 1回复 待解决
#鸿蒙通关秘籍#主线程和Worker线程在线程模型中承担什么职责?
178浏览 • 1回复 待解决
HarmonyOS 类成员无法在线程之间共享数据
42浏览 • 1回复 待解决
HarmonyOS worker线程和主线程支持内存共享
568浏览 • 1回复 待解决
宿主线程如何向worker子线程发送消息?
393浏览 • 1回复 待解决
如何创建一个worker线程
939浏览 • 1回复 待解决
HarmonyOS 能够在主线程给 Worker 传递一个函数,让这个函数在 Worker 的线程中执行么?
77浏览 • 1回复 待解决
Native侧如何获取ArkTS侧Object对象及其成员变量
2699浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkTS中创建和管理Worker线程?
139浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何在Worker子线程中实现文件解压并将结果返回主线程?
148浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何处理ArkTS中的Worker线程文件路径?
118浏览 • 1回复 待解决
ets中创建Worker线程,创建Worker传入的url文件只能是js后缀吗?
4720浏览 • 1回复 待解决
HarmonyOS中的多线程如何做到数据对象共享?
186浏览 • 0回复 待解决
HarmonyOS 主线程中无法调用工作线程中实例化对象的方法
34浏览 • 1回复 待解决
Worker的宿主线程必须是主线程吗?
446浏览 • 1回复 待解决
HarmonyOS 怎么判断worker线程创建了几个?
192浏览 • 0回复 待解决
如何保障线程安全,ArkTS提供的Worker和TaskPool如何保证线程安全
463浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
1007浏览 • 1回复 待解决
HarmonyOS AppStorage是否支持在worker线程使用
34浏览 • 1回复 待解决
可以考虑使用ShareArrayBuffer,关键代码: 主线程中:
sharedArrayBuffer可共享对象可以存储任何类型的数据,文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/serialization-support-types-V5#可共享对象
代码:
主线程:
worker:
这个是上面demo的实现参考最后一部分Stage模型配置:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-worker-V5#stage模型
1.worker线程ets:(路径:ets/pages/workers/worker1.ets)
2. 主线程页面ets:(路径:ets/pages/Index.ets)
3. build-profile.json5(路径:ets/build-profile.json5)buildOption下添加: