nodejs可以高并发的原因:nodejs是非阻塞异步操作的。针对每个并发请求,服务端给请求注册一个激发事件(I/O),并给一个回调函数(这个过程没有阻塞新的连接请求)。
node具有异步I/O特性,每当有I/O请求发生时,node会提供给该请求一个I/O线程。然后node就不管这个I/O的操作过程了,而是继续执行主线程上的事件,只需要在该请求返回回调时在处理即可。也就是node省去了许多等待请求的时间。
node实现高并发的方法:
针对每个并发请求,服务端给请求注册一个激发事件(I/O),并给一个回调函数(这个过程没有阻塞新的连接请求)。
按顺序执行事件处理(I/O),处理完成后执行回调函数,接着执行下一个事件处理(I/O)。
事件处理(I/O)原理?
事件处理(即异步I/O处理)是由node工作线程去执行的(nodejs底层的libuv是由多线程的线程池并行I/O操作),且主线程是不需要等待返回的,只要发出指令后就可以执行其他事件,所有操作完成后执行回调。
nodejs特点:
1、Chrome V8引擎
2、事件驱动
3、非阻塞 I/O
4、单线程
想要了解更多前端知识,可访问 前端开发学习!!
以上就是nodejs如何实现高并发?的详细内容,更多请关注易知道|edz.cc其它相关文章!