Node

码农天地 -
Node

Node特点

异步IO(同步IO,任务总耗时等于各个任务耗时之和,异步IO,任务耗时等于耗时最长的任务)事件和回调函数

单线程
单线程的好处?

没有状态同步和死锁的问题没有线程切换上下文带来的性能消耗

单线程的不好的地方?
1. 无法利用多核CPU
2. 错误会导致整个应用退出,应用健壮性值得考验
3. 大量计算占用CPU会导致无法继续调用异步IO(跟浏览器上Javascript和UI渲染公用同一个线程,Javascript长时间运行会导致UI渲染和响应被中断一样,长时间的CPU占用会导致后续的异步IO发不出调用,已完成的异步IO的回调函数也得不到执行;在浏览器中,是通过web worker创建工作线程进行计算,解决Javascript大计算阻塞UI渲染的问题,工作线程为了阻塞主线程,通过消息传递的方式来传递结果,这也使得工作进行不能访问主线程的UI;Node采用了child_process创建子进程的思路来解决单线程大计算量的问题,子进程的出现,也是Node应用健壮性和无法利用多核CPU的问题得到解决。将大量计算分发到各个子进程上,然后进程之间通过事件消息来传递结果,这可以保持应用的简单性和低依赖;通过Master-Worker的管理方式,可以很好地管理各个工作进程,已达到更高的健壮性)

Node API

readfile
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

加个好友,技术交流

1628738909466805.jpg