node.js的性能不是最高的,因为javascript引擎的关系,node.js默认是单线程,一个node.js应用无法利用多核资源。不过有第三方库提供多线程支持,但不是无缝的。
node.js是解决I/O瓶颈的(相对于传统技术,同步阻塞调用浪费线程),它并没有提高I/O速度,只是资源调度更高效。如果I/O速度不解决,node.js只能说能同时处理好多request,但每个request的响应时间还是那么长,甚至更长。
事实上,它的单线程指的是自身Javascript运行环境的单线程,Node.js并没有给Javascript执行时创建新线程的能力,最终的实际操作,还是通过Libuv以及它的事件循环来执行的。
这也就是为什么 Javascript一个单线程的语言,能在Node.js里面实现异步操作的原因,两者并不冲突。
以上就是node是单线程还是多线程?的详细内容,更多请关注易知道|edz.cc其它相关文章!