不知道下面我关于 js 异步 io 的理解对不对:
1.nodejs 的异步 io 实际上是通过封装 epoll 等 io 复用函数,在用户态实现了异步 io ,而底层实现上还是基于事件驱动和同步 io 的。
2.我试验以下代码:
setTimeout(function(){
console.log("1");
},5000);
我原以为程序会直接退出,结果是等待 5 秒后触发回调再退出。那是不是可以理解为我们写的 js 代码都是运行在一个大的对用户不可见的 event loop 中?
1
vietor 2015-12-26 19:31:30 +08:00 via Android
对
|
3
boyhailong 2015-12-26 20:22:23 +08:00
底层是基于 libuv 的 看下源码就明白了啊
|
4
SonicY 2015-12-26 20:29:44 +08:00
Linux 下用的 libeio
|
5
haozhang 2015-12-26 20:38:38 +08:00 1
|
7
zhuangzhuang1988 2015-12-27 00:17:11 +08:00
想深入了解么..
高层理解一下.. SICP https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_sec_3.3.4 Priority Queues http://algs4.cs.princeton.edu/24pq |