nodejs 单线程,异步回调,事件
来源:互联网 发布:电脑电话营销软件 编辑:程序博客网 时间:2024/06/03 14:00
一直都说nodejs是单线程,采用事件异步回调的机制,达到非阻塞。一直很不是很理解,最近有点心得。
首先说说啥是单线程和多线程两者的区别:
单线程可以理解为任务制,在当前任务的时候要等待当前任务的结束才能进行下一个任务。而多线程可以有多个任务。两者各有优缺点。可以理解为“谈恋爱”,单线程就是传统的只能有一个女朋友,然后想要一个新的女朋友必须要和当前的女朋友分手才能谈新的女朋友。那多线程呢就是可以同时脚踏几条船。同时谈多个女朋友。如果是多线程的也就是多个女朋友的,一起去逛街的时候就可能会几个女朋友见面,这个时候就会抢夺资源,处理不好的时候就会出现问题了。 那单线程的话如果你分手分的够快,谈的女朋友也不一定就比多线程的少。但是如果有一个女朋友一直纠缠,那也会遇到问题的。
所以并没有说多线程和单线程的两者一定就是谁的效率更好,只能说具体情况具体考虑。
nodejs是单线程的这个事件的回调机制,就是让他能够速度分手的所在再说说啥是事件:
事件:我们在js当中会经常遇到,点击事件 触摸事件等等。就是把方法现在那里不一定就执行 一直在监听,只有这个方法触发的时候才去执行。
在nodejs当中用函数作为参数,这样来实现回调。
function doSomething(callback, something){ something = "nodejs"; callback(something);}function hello(something){ console.log(something + "is good");}doSomething(hello, "");
采用异步回调的方法来实现非阻塞。
那啥叫阻塞和非阻塞呢:
举个打电话的例子:
老板给你打电话 ,让你查东西, 一直在等着你查到结果汇报,你汇报结果,然后挂电话。
非阻塞呢:
老板给你打电话,让你查东西,然后挂电话,这段时间老板干啥都行,然后你查完了给老板回电话,然后老板听你的汇报结果。
阅读全文
0 0
- nodejs 单线程,异步回调,事件
- nodejs单线程、异步事件的理解
- Nodejs的单线程、异步IO与事件驱动
- 单线程、事件循环和异步IO
- nodejs 单线程
- 单线程、事件驱动、异步非阻塞的nginx
- 单线程、事件驱动、异步非阻塞的nginx
- node单线程异步,基于事件驱动的理解
- javascript单线程 异步
- 异步和单线程
- 异步和单线程
- Nodejs是单线程的?
- Nodejs 异步回调之异常
- nodejs异步回调造成的困扰
- nodejs 异步I/O和事件驱动
- NodeJS中的异步I/O、事件驱动
- nodejs异步I/O和事件循环
- javascript异步和单线程
- 图标字体的制作
- 单进程服务器(python版)
- php文件操作 读取写入操作
- C#高级学习第七章-文件操作
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- nodejs 单线程,异步回调,事件
- 【最大独立集 && 有墙 && 无向图】HDU
- 三秒跳转第二次登录直接跳过
- 南宁杯CTF以及中科大CTF的一点总结
- 判断网络是否连接
- mybatis详解-(4)引入外部资源配置
- unity3d 怎么把鼠标坐标转成世界坐标
- 多进程服务器(python 版)
- RecyclerView源码详解(第三篇LayoutManager源码详解)