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在子线程调用对象成员函数
378浏览 • 0回复 待解决
Worker线程如何销毁?
374浏览 • 1回复 待解决
如何在Worker中开启多级子线程
323浏览 • 1回复 待解决
Worker线程内存如何共享
2302浏览 • 1回复 待解决
HarmonyOS worker线程和主线程支持内存共享
526浏览 • 1回复 待解决
如何在taskpool的线程调用类的成员函数
929浏览 • 1回复 待解决
#鸿蒙通关秘籍#主线程和Worker线程在线程模型中承担什么职责?
90浏览 • 1回复 待解决
#鸿蒙通关秘籍#线程模型中,主线程和TaskPool Worker线程有啥区别?
138浏览 • 1回复 待解决
HarmonyOS中的多线程如何做到数据对象共享?
141浏览 • 0回复 待解决
宿主线程如何向worker子线程发送消息?
364浏览 • 1回复 待解决
如何创建一个worker线程
908浏览 • 1回复 待解决
Native侧如何获取ArkTS侧Object对象及其成员变量
2641浏览 • 1回复 待解决
HarmonyOS 怎么判断worker线程创建了几个?
144浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在ArkTS中创建和管理Worker线程?
66浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何在Worker子线程中实现文件解压并将结果返回主线程?
102浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何处理ArkTS中的Worker线程文件路径?
53浏览 • 1回复 待解决
ets中创建Worker线程,创建Worker传入的url文件只能是js后缀吗?
4691浏览 • 1回复 待解决
Worker的宿主线程必须是主线程吗?
407浏览 • 1回复 待解决
HarmonyOS主线程的napi_ref是否可以被worker线程使用?
420浏览 • 1回复 待解决
HarmonyOS 使用MMKV在主线程中初始化后,在worker线程中无法使用,需要重新初始化
151浏览 • 1回复 待解决
如何保障线程安全,ArkTS提供的Worker和TaskPool如何保证线程安全
412浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
974浏览 • 1回复 待解决
HarmonyOS Worker和主线程之间传递普通对象有大小限制吗?最大可以传递一个多少M的对象?
180浏览 • 1回复 待解决
HarmonyOS Sendable对象怎么保证线程安全?
188浏览 • 1回复 待解决
#鸿蒙学习大百科#如何加载Library-HAR中Worker线程文件?
228浏览 • 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下添加: