5.6 worker_threads并发示例

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

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
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值