ArkTs中如何实现线程间的通讯 HarmonyOS 鸿蒙Next

ArkTs中如何实现线程间的通讯 HarmonyOS 鸿蒙Next ArkTs中怎么实现主线程和子线程中的通讯?类似Android中handler的作用

1 回复

更多关于ArkTs中如何实现线程间的通讯 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在ArkTS中,线程间通讯可以通过TaskDispatcherMessageSequence来实现。TaskDispatcher用于任务分发,MessageSequence用于消息传递。以下是一个简单的示例:

  1. 创建任务分发器:
import taskpool from '@ohos.taskpool';

let globalTaskDispatcher = taskpool.getGlobalTaskDispatcher();
  1. 定义任务:
@Concurrent
function taskFunction(param: string): string {
    return `Received: ${param}`;
}
  1. 提交任务:
let task = new taskpool.Task(taskFunction, "Hello");
globalTaskDispatcher.dispatch(task).then((result) => {
    console.log(result);
});
  1. 使用MessageSequence进行线程间通讯:
import MessageSequence from '@ohos.messageSequence';

let messageSequence = new MessageSequence();
messageSequence.sendMessage("Message from main thread");
messageSequence.onMessage((message) => {
    console.log(`Received message: ${message}`);
});

通过TaskDispatcherMessageSequence,可以在ArkTS中实现线程间的通讯。

回到顶部