如何将输入从 MainThread 发送到节点 js 中的工作线程Worker_threads

问题描述

所以我有这段代码,我想在主线程中获取输入,然后将其提供给工作线程,这样我就不必将问题放在工作线程中,这样问题就会重复

const { Worker,isMainThread } = require('worker_threads');
if (isMainThread) {
let x = prompt("question")
for (let i = 0; i < 2; i++) {
    new Worker(__filename,);
    }
  // This re-loads the current file inside a Worker instance.
} else {

console.log(x)
  console.log('Inside Worker!');
  console.log(isMainThread);  // Prints 'false'.
}

解决方法

您好,您可以使用 Worker 数据,因此发送变量

@ViewChild("exporter") exporter! : MatTableExporterDirective;

<table mat-table matTableExporter [dataSource]="dataSource" 
                               #exporter="matTableExporter">

编辑 1

const { Worker,isMainThread,workerData } = require('worker_threads');

    if (isMainThread) {
      x = "hello world" ;
    for (let i = 0; i < 1; i++) {
        new Worker(__filename,{ workerData: x });
        }
      // This re-loads the current file inside a Worker instance.
    } else {
      
    console.log(workerData)
      console.log('Inside Worker!');
      console.log(isMainThread);  // Prints 'false'.
    }