1、run.js
const { Worker } = require('worker_threads')
const configs = require('../../config/config').config
const pass_share = new SharedArrayBuffer(4)
const failed_share = new SharedArrayBuffer(4)
const status = new SharedArrayBuffer(4)
const on_off = new Int32Array(status)
let workerNum = configs.worker_num
let countNum = configs.childworker_num
Atomics.store(on_off,0,0);
let start_time;
let failedCount;
let successCount;
for (let i = 0; i < workerNum; i++) {
const worker = new Worker('./check_text/text.js')
if(i === (workerNum-1)){
start_time = new Date().getTime();
Atomics.store(on_off,0,1)
}
worker.postMessage({'id': worker.threadId, 'pass': pass_share, 'failed': failed_share,time:on_off})
worker.on('message', function (msg) {
successCount = msg.passCount[0];
failedCount = msg.failedCount[0]
if (msg.signal === 'exit') {
console.log('线程' + msg.id + ':' + msg.str

本文详细介绍了使用Node.js的Worker_threads模块进行线程间通信,通过配置多个子线程执行文本检查任务,同时监控成功率和失败率。通过时间戳跟踪并发性能,最终展示了运行时间和关键指标。
最低0.47元/天 解锁文章
1276





