Nodejs的运行原理-科普篇 (2)

因此,Node实际上会使用Google编写的V8 JavaScript引擎并将其重建为可在服务器上使用

 

事件驱动

在我们使用Java,PHP等语言实现编程的时候我们面向对象编程是完美的编程设计这使得他们对其他编程方法不屑一顾却不知大名鼎鼎Node使用的却是事件驱动编程的思想那什么是事件驱动编程
事件驱动编程为需要处理的事件编写相应的事件处理程序代码在事件发生时执行 
为需要处理的事件编写相应的事件处理程序要理解事件驱动和程序就需要与非事件驱动的程序进行比较实际上现代的程序大多是事件驱动的比如多线程的程序肯定是事件驱动的早期则存在许多非事件驱动的程序这样的程序在需要等待某个条件触发时会不断地检查这个条件直到条件满足这是很浪费cpu时间的而事件驱动的程序则有机会释放cpu从而进入睡眠态注意是有机会当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒这样就能更加有效地使用cpu。
来看一张简单的事件驱动模型(uml):

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwpjf.html