亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

node.js學習日記——(8)

2024-04-27 15:19:11
字體:
來源:轉載
供稿:網友

多進程

Node.js 是以單線程的模式運行的,但它使用的是事件驅動來處理并發,這樣有助于在多核 cpu 的系統上創建多個子進程,從而提高性能。 Node 提供了 child_PRocess 模塊來創建子進程.

exec() 方法

child_process.exec 使用子進程執行命令,緩存子進程的輸出,并將子進程的輸出以回調函數參數的形式返回。屬于“同步中的異步”,即直到完全讀取到內容,才會從子進程返回數據。

child_process.exec(command[, options], callback)command: 字符串, 將要運行的命令,參數使用空格隔開options :對象,可以是: cwd ,字符串,子進程的當前工作目錄 encoding,字符串,字符編碼(默認:’utf8’) shell ,字符串,將要執行命令的 Shell(默認: 在 UNIX 中為/bin/sh,在 Windows 中為cmd.exe, Shell 應當能識別 -c開關在 UNIX 中,或 /s /c 在 Windows 中。timeout,數字,超時時間(默認: 0) maxBuffer,數字, 在stdout 或 stderr 中允許存在的最大緩沖(二進制),如果超出那么子進程將會被殺死 (默認: 200*1024)killSignal ,字符串,結束信號(默認:’SIGTERM’)uid,數字,設置用戶進程的 ID gid,數字,設置進程組的 IDcallback :回調函數,包含三個參數error, stdout 和 stderr。

舉例

sub.js

console.log("進程 " + process.argv[2] + " 執行。" );

master.js

const fs = require('fs');const child_process = require('child_process');for(var i=0; i<3; i++) { //執行node命令,當前子進程目錄為sub.js,用戶進程id為當前的i,用空格隔開 //command與options各參數之間用空格分開,共同拼接成一個字符串 var workerProcess = child_process.exec('node sub.js '+i, function (error, stdout, stderr) { if (error) { console.log(error.stack); console.log('Error code: '+error.code); console.log('Signal received: '+error.signal); } console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); }); workerProcess.on('exit', function (code) { console.log('子進程已退出,退出碼 '+code); });}

這里寫圖片描述

spawn() 方法

child_process.spawn 使用指定的命令行參數創建新進程。返回一個stream對象,因此當想要子進程返回大量數據時,例如圖像處理,讀取二進制數據等,最好使用此方法,此方法屬于“異步中的異步”,這意味著從子進程開始執行開始,就開始有數據流從子進程傳輸給node。

child_process.spawn(command[, args][, options])command: 將要運行的命令args: Array 字符串參數數組options Object cwd String 子進程的當前工作目錄 env Object 環境變量鍵值對 stdio Array|String 子進程的 stdio 配置 detached Boolean 這個子進程將會變成進程組的領導 uid Number 設置用戶進程的 ID gid Number 設置進程組的 ID

舉例

sub.js

console.log("進程 " + process.argv[2] + " 執行。" );

master.js

const fs = require('fs');const child_process = require('child_process');for(var i=0; i<3; i++) { var workerProcess = child_process.spawn('node', ['sub.js', i]); workerProcess.stdout.on('data', function (data) { console.log('stdout: ' + data); }); workerProcess.stderr.on('data', function (data) { console.log('stderr: ' + data); }); workerProcess.on('close', function (code) { console.log('子進程已退出,退出碼 '+code); });}

這里寫圖片描述

fork() 方法

spawn() 方法的特殊形式,不同之處就是它創建子進程只需要指定要執行的文件模塊即可,返回的對象除了擁有ChildProcess實例的所有方法,還有一個內建的通信信道。

child_process.fork(modulePath[, args][, options])modulePath: String,將要在子進程中運行的模塊args: Array 字符串參數數組options:Object cwd String 子進程的當前工作目錄 env Object 環境變量鍵值對 execPath String 創建子進程的可執行文件 execArgv Array 子進程的可執行文件的字符串參數數組(默認:process.execArgv) silent Boolean 如果為true,子進程的stdin,stdout和stderr將會被關聯至父進程,否則,它們將會從父進程中繼承。(默認為:false)uid Number 設置用戶進程的 ID gid Number 設置進程組的 ID

舉例

sub.js

console.log("進程 " + process.argv[2] + " 執行。" );

master.js

const fs = require('fs');const child_process = require('child_process');for(var i=0; i<3; i++) { var worker_process = child_process.fork("sub.js", [i]); worker_process.on('close', function (code) { console.log('子進程已退出,退出碼 ' + code); });}

這里寫圖片描述

JXcore 打包

JXcore 是一個支持多線程的 Node.js 發行版本,基本不需要對現有的代碼做任何改動就可以直接線程安全地以多線程運行。 https://github.com/jxcore/jxcore


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品永久免费| 91免费国产视频| 国产视频亚洲视频| 国产精品扒开腿做爽爽爽的视频| 最近2019年手机中文字幕| 久久久久久免费精品| 久久免费在线观看| 亚洲午夜久久久影院| 91大神在线播放精品| 国产精品啪视频| 久久精品91久久香蕉加勒比| 国产综合福利在线| 97在线视频免费播放| 最新国产成人av网站网址麻豆| 97久久精品在线| 亚洲精品久久久久久下一站| 性欧美视频videos6一9| 欧美成aaa人片在线观看蜜臀| 欧美网站在线观看| 欧美性猛交xxxx免费看| 成人国产精品久久久| 福利一区视频在线观看| 懂色av中文一区二区三区天美| 日韩在线激情视频| 国产精品日日做人人爱| 欧美精品在线免费观看| 欧美精品免费在线观看| 97视频在线观看网址| 欧美成人精品在线观看| 欧美日韩一区二区三区| 国产精品第一第二| 亚洲va男人天堂| 日韩欧美在线第一页| 亚洲激情视频网站| 韩国国内大量揄拍精品视频| 亚洲aⅴ日韩av电影在线观看| 欧美性猛交xxxx免费看久久久| 国内免费久久久久久久久久久| 粉嫩av一区二区三区免费野| 精品人伦一区二区三区蜜桃网站| 亚洲一区亚洲二区亚洲三区| 国产精品女主播| 亚洲最新在线视频| 不卡av在线网站| 蜜臀久久99精品久久久久久宅男| 激情成人中文字幕| 亚洲美女动态图120秒| 97精品国产91久久久久久| 伊人亚洲福利一区二区三区| 日韩av手机在线观看| 日韩在线免费av| 久久精品欧美视频| 日韩电影网在线| 精品亚洲国产成av人片传媒| 日韩av观看网址| 国产日本欧美一区二区三区| 热久久免费国产视频| 国产精品欧美激情在线播放| 插插插亚洲综合网| 国产精品视频成人| 亚洲天堂久久av| 日韩美女免费视频| 久久不射热爱视频精品| 成人精品久久av网站| 欧美国产在线电影| 欧美极度另类性三渗透| 日韩欧美成人区| 欧洲s码亚洲m码精品一区| 搡老女人一区二区三区视频tv| 亚洲人成网站777色婷婷| 日韩经典第一页| 欧美黑人性视频| 91精品国产色综合久久不卡98口| 亚洲最大福利网站| 欧美精品生活片| 欧美黄色免费网站| 精品综合久久久久久97| 国产欧美日韩中文字幕| 国产精品精品国产| 国产精品99久久久久久人| 91亚洲人电影| 欧美黑人巨大精品一区二区| 国产网站欧美日韩免费精品在线观看| 麻豆国产va免费精品高清在线| 国产不卡一区二区在线播放| 九九精品在线视频| 另类专区欧美制服同性| 欧美成人精品不卡视频在线观看| 亚洲一区制服诱惑| 国产一区二区三区在线观看视频| 国产精品久久av| 中文字幕日韩精品有码视频| 成人激情视频免费在线| 久久成人精品视频| 日本高清不卡的在线| 国产91免费看片| 亚洲国模精品一区| 国产精品久久久久久久久久久久久久| 久久综合久久88| 色悠悠国产精品| 成年人精品视频| 尤物tv国产一区| 欧美在线视频一区二区| 欧美午夜片在线免费观看| 8x海外华人永久免费日韩内陆视频| 久久久久久91香蕉国产| 国产精品久久久久久久久久久新郎| 国产性猛交xxxx免费看久久| 欧美日韩ab片| 欧美在线日韩在线| 亚洲欧美色图片| 国产欧美日韩丝袜精品一区| 色综合久久久久久中文网| 国产亚洲视频中文字幕视频| 精品日本美女福利在线观看| 欧美激情在线狂野欧美精品| 精品久久久久久亚洲精品| 日韩av在线网| 欧美日韩精品国产| 亚洲国产日韩欧美在线图片| 红桃视频成人在线观看| 麻豆国产va免费精品高清在线| 亚洲网站在线看| 亚洲高清一二三区| 国产精品久久久久影院日本| 国产精品久久999| 91精品久久久久久久久久久久久| 国产精品第1页| 97精品视频在线| 日韩免费电影在线观看| 国产成人午夜视频网址| 久久久国产精品亚洲一区| 国产精品99导航| 久久在线免费视频| 孩xxxx性bbbb欧美| 精品国内亚洲在观看18黄| 亚洲天堂av网| 日本久久久久久久| 97精品在线观看| 亚洲欧美国产精品va在线观看| 国产精品久久久久久久久借妻| 日韩在线中文字幕| 久久精品国产久精国产思思| 日韩精品亚洲元码| 日韩免费在线观看视频| 亚洲视频欧洲视频| 红桃视频成人在线观看| 日韩精品视频三区| 亚洲精品中文字| 中文字幕日韩电影| 91最新国产视频| 国产精品国产三级国产专播精品人| 亚洲欧美www| 亚洲一区亚洲二区亚洲三区| 青青a在线精品免费观看| 丁香五六月婷婷久久激情| 2019av中文字幕| 黑人狂躁日本妞一区二区三区| 日韩精品免费电影| 精品国产自在精品国产浪潮| 中文字幕久久亚洲| 青草青草久热精品视频在线观看| 欧美又大又硬又粗bbbbb| 久久精品国产成人|