內容:node
1.多進程與多線程程序員
2.node中多進程相關模塊的使用服務器
1.多進程與多線程多線程
Node.js中默認:單進程、單線程,可是其能夠實現多進程性能
多進程分爲主進程和子進程:ui
進程-怪:spa
2.node中多進程相關模塊的使用線程
多進程server實例:code
1 const http=require('http'); 2 const cluster=require('cluster'); 3 const os=require('os'); 4 const process=require('process'); 5 6 if(cluster.isMaster){ 7 // 主進程: 8 for(let i=0;i<os.cpus().length;i++){ 9 // 建立子進程: 10 cluster.fork(); 11 } 12 13 console.log('主進程'); 14 }else{ 15 // 子進程: 16 let server=http.createServer((req, res)=>{ 17 // 打印當前執行的子進程的pid 18 console.log(process.pid); 19 20 res.write('aaaa'); 21 res.end(); 22 }); 23 24 server.listen(8080); 25 console.log('服務器開好了,在8080上'); 26 }
注:server
這裏的子進程之間不是一個一個接着來工做的,這是由於進程調度的緣由 --->> 多個進程:第一個滿了 -> 才啓用第二個 -> 前兩個都滿了 -> 才啓用第三個