Worker 副线程

115 阅读1分钟

Worker是与主线程并行的独立线程。主要作用是为应用程序提供一个多线程的运行环境,可满足应用程序在执行过程中与主线程分离,在后台线程中运行一个脚本操作耗时操作,极大避免类似于计算密集型或高延迟的任务阻塞主线程的运行。

微信截图_20240608190313.png

创建文件作为worker环境,并且在buildjson5文件中创建声明一个配置

主线程:

import worker from '@ohos.worker';//全局

private  wk = new worker.ThreadWorker('entry/ets/workers/w1.ts')

Button('发送消息给work 1').onClick(()=>{
  this.wk.postMessage('22222222')
})

副线程:

import worker from '@ohos.worker';

const parent = worker.workerPort;

//接收主线程发送的消息
parent.onmessage=function(message){
  console.log('on message'+JSON.stringify(message) );
  parent.postMessage('收到')
}