1
jswh 2015 年 9 月 28 日
单线程
|
3
int64ago 2015 年 9 月 28 日
底层是多线程的,只是在 JavaScript 这一层才是单线程的
|
4
jswh 2015 年 9 月 28 日
http://blog.getify.com/promises-part-1/这系列文章的第一部分解释了 js 引擎单线程并发的原理,讲得挺清楚的
|
5
wuliao49 2015 年 9 月 28 日
3 楼是对的。不分青红皂白的说 NODE 就是单线程的朋友进误区了
|
6
joyee 2015 年 9 月 28 日
Node.js 里 JavaScript 代码的执行是单线程的,但是在底层无论是 V8 还是 libuv 都不是,比如 V8 是一个线程做编译执行一个线程做优化几个线程负责 GC 还有线程负责 profiling 找 JIT 目标, libuv 有线程池配合 epoll 之类做 I/O 多路复用,还有其他部分也是……
|
8
joyee 2015 年 9 月 28 日
@jswh JavaScript 本身跟事件循环没太大关系的,你在 ECMAScript 的 spec 里是看不到相关的东西的,同理你在 V8 里也找不到类似什么 setTimeout 之类的东西……浏览器里的事件循环属于 BOM , Node 里的事件循环是包装了 libuv 而已, libuv 是有线程池的
|
9
lcj2class 2015 年 9 月 29 日
|
10
we 2015 年 9 月 30 日
|
11
darluc 2015 年 9 月 30 日
9 楼的图不错哦
|