关于Worker使用咨询,请问library类型的module中是否可以使用Worker?

Worker当前仅能在ability类型的module中使用。我在实际使用中,发现在ability类型和library类型的module中都能定义出Worker,在ability类型的module中的Worker可以收到主线程的消息(通过控制台日志验证);但在library类型的module中的Worker收不到主线程的消息(通过控制台日志验证)请问library类型的module中是否可以使用Worker?如果可以的话,请问使用上 会有什么不同?

HarmonyOS
2024-01-31 16:54:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
xiaxinyj

Ability类型的Module支持使用Worker,Library类型的Module不支持使用Worker。创建Worker不支持使用其他Module的Worker.ts文件,即不支持跨模块调用Worker。

TaskPool偏向独立任务(线程级)维度,超长任务(大于3分钟)会被系统自动回收;而Worker偏向线程的维度,支持长时间占据线程执行。我们需求是期望有个后台定时任务定时上报数据,Worker的原理似乎更加满足我们需求(taskpool会被系统自动回收)。

1. 单个任务超过3分钟会被系统回收,taskPool可以定时创建多个任务,只要单个任务不超过3分钟,就不会存在被系统自动回收的问题。

2. har共享包里不能使用Worker。

参考链接

Worker简介TaskPool和Worker的对比 (TaskPool和Worker)

分享
微博
QQ
微信
回复
2024-02-01 19:58:52
相关问题
HarmonyOS 共享包里面可以使用worker
526浏览 • 1回复 待解决
HarmonyOS 在依赖library使用worker报错
355浏览 • 1回复 待解决
HarmonyOS 使用worker和TaskPool咨询
196浏览 • 1回复 待解决
HarmonyOS Worker使用问题
22浏览 • 1回复 待解决
TaskPool里面是否可以使用EventHub
1788浏览 • 1回复 待解决
Push是否可以使用自己运维平台?
1780浏览 • 1回复 待解决
ArkTS 可以使用 console 打印日志吗?
3233浏览 • 1回复 待解决
ArkTS可以使用Toast吗?
3980浏览 • 1回复 待解决