加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

深入领略Node.js 历程与线程(8000字长文彻底搞懂)

发布时间:2019-08-15 19:32:31 所属栏目:建站 来源:koala
导读:媒介 历程与线程是一个措施员的必知观念,口试常常被问及,可是一些文章内容只是讲讲理论常识,也许一些小搭档并没有真的领略,在现实开拓中应用也较量少。本篇文章除了先容观念,通过Node.js 的角度讲授历程与线程,而且讲授一些在项目中的拭魅战的应用,让

worker.js 子历程处理赏罚逻辑如下:

  • 建设一个 server 工具,留意这里最开始并没有监听 3000 端口
  • 通过 message 变乱吸取主历程 send 要领发送的动静
  • 监听 uncaughtException 变乱,捕捉未处理赏罚的非常,发送自杀信息由主历程重建历程,子历程在链接封锁之退却出
  1. // worker.js 
  2. const http = require('http'); 
  3. const server = http.createServer((req, res) => { 
  4.     res.writeHead(200, { 
  5.         'Content-Type': 'text/plan' 
  6.     }); 
  7.     res.end('I am worker, pid: ' + process.pid + ', ppid: ' + process.ppid); 
  8.     throw new Error('worker process exception!'); // 测试非常历程退出、重启 
  9. }); 
  10.  
  11. let worker; 
  12. process.title = 'node-worker' 
  13. process.on('message', function (message, sendHandle) { 
  14.     if (message === 'server') { 
  15.         worker = sendHandle; 
  16.         worker.on('connection', function(socket) { 
  17.             server.emit('connection', socket); 
  18.         }); 
  19.     } 
  20. }); 
  21.  
  22. process.on('uncaughtException', function (err) { 
  23.     console.log(err); 
  24.     process.send({act: 'suicide'}); 
  25.     worker.close(function () { 
  26.         process.exit(1); 
  27.     }) 
  28. }) 

Node.js 历程保卫

什么是历程保卫?

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读