HarmonyOS 跨线程的函数调用?

工程中有一个Worker。在Worker内,运行了很多业务代码。

现在需要再主线程中查询Worker内部的一个状态量。

现在能否以跨线程函数的方式来查询到worker线程里面的这个状态量。

比如,主线程执行函数

funcation getValue():Promise<number>{
  this.workerInstance.doFuncation("getValue");
}

即可以拿到Worker线程内的 value:number = 1; 这个变量值。

实际就是类似TaskPool的那套跨线程函数调用方式

阅读 489
1 个回答

主线程中无法查询Worker内部的状态量,因为Worker线程和主线程是并行运行的,它们之间没有共享内存。Worker线程中的状态量只能在Worker线程中访问和修改,您可尝试使用registerGlobalCallObject方法在Worker线程中注册一个对象,在主线程中通过全局对象访问Worker线程中的状态量,看能否实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进