nodejs的哲学

说起哲学,要了解一下创始人。他们买的服务器的性能够都比较少,所以他想怎么用破机器运行高性能。

他主要发现了高并发的问题,确实靠谱,但是试验了很多次都失败了,后来他感觉到了解决

问题的关键是要通过事件驱动和异步I/O达成目的,先说什么是异步I/O,那么我们先说说这个异步I/O

我们的网站I/O是非常多的,I就是input数据的,表示数据的读取,o:output表示数据的写入,

但是I/O的视乎CPu命令磁盘去做事情,此时cpu就闲置了,数据库说白了也是存磁盘里,服务器就是计算机,

cpu下命令给磁盘去读取,些人,下命令去寻找姓名为秦丰的数据,CPU经常发出I/O命令,然后cpu就歇着呢

这么贵的cpu让他歇着,就有些浪费资源了,因为这种模式叫做同步I/O,和ajax的含义差不多

同步:当系统遇见了一个需要耗费大量时间的事情的时候,选择死等

异步(A),不死等,先做后面的事情,耗时的事情做完后之后,做回调函数,

例如在PHP中有一个文件叫做test.txt,下面有一个for循环的运算,如果test的内容非常多,PHP也要等test读完再能运算for循环,这个时候cpu就在闲着,

有人问java多线程呢? node的一个单线程都比java的多线程厉害,因为这一个线程是满满的。

cpu除了命令磁盘驱动,还能命令很多驱动,

知道了解决问题的方法但是没有东西,后来有了chrome,chrome火爆起来,这个时候v8出现了,并且v8解析js很快,v8开源了,被他移动到服务器

上了,chrome傻眼了,而且V8还是异步。这就是node.js项目的又来,是一个专注于实现高性能web服务器优化的专家,几经探索,遇到v8而诞生的项目

node当中的东西是异步的,V8引擎性能好,都是异步IO,闭包性能好,

猜你喜欢

转载自www.cnblogs.com/JavascriptAndHtml5/p/9488617.html