Node.js的线程和进程

2,636次阅读
没有评论

共计 548 个字符,预计需要花费 2 分钟才能阅读完成。

前言

很多 Node.js 初学者都会有这样的疑惑,Node.js 到底是单线程的还是多线程的?通过本章的学习,能够让读者较为清晰的理解 Node.js 对于单 / 多线程的关系和支持情况。同时本章还将列举一些让 Node.js 的 web 服务器线程阻塞的例子,最后会提供 Node.js 碰到这类 cpu 密集型问题的解决方案。

总结

单线程的 Node.js 给我们编码带来了太多的便利和乐趣,我们应该时刻保持清醒的头脑,在写 Node.js 代码中切不可与 PHP 混淆,任何一个隐藏的问题都可能击溃整个线上正在运行的 Node.js 程序。

单线程异步的 Node.js 不代表不会阻塞,在主线程做过多的任务可能会导致主线程的卡死,影响整个程序的性能,所以我们要非常小心的处理大量的循环,字符串拼接和浮点运算等 cpu 密集型任务,合理的利用各种技术把任务丢给子线程或子进程去完成,保持 Node.js 主线程的畅通。

线程 / 进程的使用并不是没有开销的,尽可能减少创建和销毁线程 / 进程的次数,可以提升我们系统整体的性能和出错的概率。

最后请不要一味的追求高性能和高并发,因为我们可能不需要系统具有那么大的吞吐率。高效,敏捷,低成本的开发才是项目所需要的,这也是为什么 Node.js 能够在众多开发语言中脱颖而出的关键。

链接

原文阅读:Node.js 的线程和进程

正文完
 0
评论(没有评论)
验证码