[英]Sync worker threads in node js
我有一些代碼可以玩“工作線程”(Node js)。 當在循環中的 app.js 中設置條件 i<100000000 時,我的第二個線程在第一個線程未完成之前沒有啟動。 Node js 中的同步線程是如何工作的? 以及如何並行使用兩個或更多線程?
const { Worker } = require('worker_threads'); const path = require('path'); const WORKERS_NUMBER = 2; for (var i = 1; i <= WORKERS_NUMBER ; i++) { const w = new Worker(path.join(__dirname, './app.js'), { workerData: { id: i } }); w.addListener("message",(message)=>{console.log(message);}); }
const { workerData, parentPort } = require('worker_threads'); const id = workerData.id; console.log(`Worker ${id} initializad.`); let i=0; while (i<10) { i++; process.nextTick((i)=>{ parentPort.postMessage( `${id}:${i}` ); },i); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.