当前位置: 首页 > 后端技术 > Node.js

Node_4

时间:2023-04-03 18:04:44 Node.js

节点特性异步IO(同步IO,任务总耗时等于各任务耗时总和,异步IO,任务耗时等于最长任务)事件和回调函数单线程单线程的好处?不存在状态同步和死锁的问题。没有线程切换上下文带来的性能消耗。单线程有什么缺点?1.无法使用多核CPU2.出错会导致整个应用程序退出,应用程序的健壮性值得检验3.大量计算占用CPU会导致无法继续调用异步IO(theJavascript和浏览器上的UI渲染是同一个线程,Javascript长时间运行会导致UI渲染和响应中断,长时间的CPU占用会导致后续的异步IO调用失败,回调完成的异步IO的函数不会被执行;在浏览器中,通过webworker创建工作线程进行计算,解决Javascript大计算阻塞UI渲染的问题。为了阻塞主线程,工作线程通过消息传递传递结果,也避免了work访问主线程的UI;Node使用child_process创建子进程的思路是为了解决单线程计算量大的问题。子进程的出现也解决了Node应用健壮性和无法使用多核CPU的问题。将大量的计算分布到各个子进程中,然后在进程之间通过事件消息传递结果,可以保持应用程序的简单性和低依赖性;通过Master-Worker的管理,可以很好的管理各个工作流程,实现了更高的健壮性)NodeAPIreadfile