小编Art*_*lin的帖子

如何从另一个线程向多个线程发送消息?

我有一个工作人员创建 MessageChannel 并将端口之一发送到主线程

// worker1.js
const { parentPort, MessageChannel } = require('worker_threads');

const { port1, port2 } = new MessageChannel();

port1.on('message', (msg) => {
  console.log(msg);
})

parentPort.postMessage(port2, [port2]);
Run Code Online (Sandbox Code Playgroud)

第二种类型的工作人员只是接收 MessagePort 并将数据发送到端口

// sub_worker.js
const { parentPort, MessageChannel } = require('worker_threads');

parentPort.on('message',  (port) => {
  port.postMessage('some data')
});
Run Code Online (Sandbox Code Playgroud)

主线程代码

// main thread
const { Worker } = require('worker_threads');

const mw = new Worker('worker1.js');
mw.on('message', (port) => {
  for (let i = 0; i < 5; i++) {
    const w = new …
Run Code Online (Sandbox Code Playgroud)

javascript worker-thread

5
推荐指数
1
解决办法
907
查看次数

标签 统计

javascript ×1

worker-thread ×1