正在回答 回答被采纳积分+1
2回答
好帮手慕码
2020-06-05 18:39:05
同学你好,node中有三个特征,单线程、事件驱动、非阻塞I/O;
单线程模型:像java、PHP等这样的后端语言,都是多线程的,即当有一个请求过来的时候,开启一个CPU,它使计算机能够在同一时间执行多个线程。而node的单线程是指当遇到需要加载数据库、读取磁盘等请求的时候,它会将其放入“队列”中执行,待下一轮事件循环的时候再判断能否执行它的回调函数,
事件驱动模型:举一个通俗点的例子,你在餐厅吃饭,如果当时店内生意比较好,你坐下来,服务员过来招待你,这时,另一桌也刚坐下并呼叫服务员。正常情况下,服务员肯定会想给你个菜单让你自己看看,看好了再叫他,接着去招呼那一桌的客人了,完了再给你端茶什么的。
这就是事件驱动。通过监听事件的状态变化来做出相应的操作。当你发出一个请求的时候,如果这个请求需要等待,那这个请求便会被放入“队列”中,在处理这个请求的同时,后续的无需请求也在被处理,事件处理结束后,调用请求的回调函数。
非阻塞I/O模型:用户发起一个读取文件描述符操作的时,函数立即返回,不作任何等待,进程继续执行。
而中间件相当于一个”中介“来处理一些事件,请求等。
不过这都是概念性问题,同学了解下即可。祝学习愉快~
5. Node.js全栈开发
- 参与学习 人
- 解答问题 307 个
前端工程师会后端开发已是趋势。从node.js到koa2再到数据库知识。结合真实项目,从项目需求分析、接口和数据设计到业务开发,帮你打通前后端任督二脉,为就业加码。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星