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在子线程调用对象成员函数
272浏览 • 0回复 待解决
如何在Worker中开启多级子线程
261浏览 • 1回复 待解决
Worker线程如何销毁?
287浏览 • 1回复 待解决
Worker线程内存如何共享
2207浏览 • 1回复 待解决
HarmonyOS worker线程和主线程支持内存共享
424浏览 • 1回复 待解决
宿主线程如何向worker子线程发送消息?
289浏览 • 1回复 待解决
如何创建一个worker线程
829浏览 • 1回复 待解决
如何在taskpool的线程调用类的成员函数
860浏览 • 1回复 待解决
HarmonyOS中的多线程如何做到数据对象共享?
39浏览 • 0回复 待解决
ets中创建Worker线程,创建Worker传入的url文件只能是js后缀吗?
4607浏览 • 1回复 待解决
HarmonyOS 怎么判断worker线程创建了几个?
46浏览 • 0回复 待解决
Worker的宿主线程必须是主线程吗?
337浏览 • 1回复 待解决
HarmonyOS主线程的napi_ref是否可以被worker线程使用?
350浏览 • 1回复 待解决
如何保障线程安全,ArkTS提供的Worker和TaskPool如何保证线程安全
355浏览 • 1回复 待解决
#鸿蒙学习大百科#如何加载Library-HAR中Worker线程文件?
170浏览 • 1回复 待解决
#鸿蒙学习大百科#如何加载Library-HSP中Worker线程文件?
235浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
875浏览 • 1回复 待解决
Native侧如何获取ArkTS侧Object对象及其成员变量
2504浏览 • 1回复 待解决
HarmonyOS Worker和主线程之间传递普通对象有大小限制吗?最大可以传递一个多少M的对象?
96浏览 • 1回复 待解决
HarmonyOS Worker多线程如何进行同步?可否提供样例代码?
357浏览 • 1回复 待解决
Worker和TaskPool的线程数量是否有限制
1818浏览 • 1回复 待解决
worker.ts中如何获取context
2027浏览 • 2回复 待解决
Worker和TaskPool的线程数是否受到限制?
379浏览 • 1回复 待解决
Worker多线程的使用,有谁知道啊?
917浏览 • 1回复 待解决
利用worker子线程调用napi实现loop改写变量
910浏览 • 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下添加: