node里只有js引擎是单线程,不代表整个node都是单线程
来源:互联网 发布:pdm产品数据管理软件 编辑:程序博客网 时间:2024/04/30 11:29
原文见:田永强眼里的node
这里是摘要一下关键的话:
我们可以用Ajax和Web Worker回应这个误解(javascript是单线程的,无法很好利用多核CPU)。当Ajax请求发送之后,除非是同步请求,否则其余的JavaScript代码会很快被执行到。在Ajax发送完成,直到接收到响应的这段时间里,这个网络请求并不会阻塞JavaScript的执行,而网络请求已经发生,这是必然的事。那么,答案就很明显了,JavaScript确实是执行在单线程上的,但是,整个Web应用执行的宿主(浏览器)并非以单线程的方式在执行。而Web Worker的产生,就是直接为了解决JavaScript与UI占用同一线程造成的UI响应问题的,它能新开一条线程去执行JavaScript
同理,NodeJS中的JavaScript也确实是在单线程上执行,但是作为宿主的NodeJS,它本身并非是单线程的,NodeJS在I/O方面有动用到一小部分额外的线程协助实现异步。程序员没有机会直接创建线程,这也是有的同学想当然的认为NodeJS的单线程无法很好的利用多核CPU的原因,他们甚至会说,难以想象由多人一起协作开发一个单线程的程序- node里只有js引擎是单线程,不代表整个node都是单线程
- Node.js单线程
- node.js 单线程异步理解
- Node.js的单线程异步I/O优势
- Node JS体系架构 - 单线程事件循环
- 理解Node.js的事件循环(代码是异步单线程,内部实现用的还是进程和线程,基于池化的线程实现异步)
- 《单线程的 Node.js》推荐给所有刚学习nodejs的朋友~
- 如何理解Node.js中 单线程、非阻塞IO、事件驱动
- 关于对Node.js的“单线程非阻塞异步I/O”特点的个人理解
- node单线程异步,基于事件驱动的理解
- Node.js单例模式
- js单线程执行
- js的单线程
- js单线程
- 浅谈js单线程
- JS单线程问题
- JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序
- 【前端知识点】node.js的特点通俗解读面试必备-单线程高并发、异步io、跨平台
- c++ extern
- ActionScript3-2复杂数据类型
- C# as与is的用法
- 压力测试工具ab.exe简介
- 深入浅出C++11(4)-- 泛化的常数表示式
- node里只有js引擎是单线程,不代表整个node都是单线程
- JNI--Java中调用DLL
- Myeclipse安装SVN插件
- unicode
- STL源码剖析_读书笔记:第四章 序列式容器 stack篇
- 2013.10.4
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- Visual Studio2012不能使用scanf()等函数的解决方案
- Hadoop Pipes “Server failed to authenticate”错误及解决