For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都通过达内培训实现互联网软件开发转型发展,而本文我们就通过案例分析来简单了解一下,Node.js编程常用术语解析。
1、libuv
libuv是一个事件驱动、非阻塞异步的I/O库,并且具备跨平台的能力,提供了一套事件循环(EventLoop)机制和一些核心工具,例如定时器、文件访问、线程池等。
2、非阻塞异步的I/O
非阻塞是指线程不会被操作系统挂起,可以处理其他事情。
异步是指调用者发起一个调用后,可以立即返回去做别的事。
I/O(Input/Output)即输入/输出,通常指数据在存储器或其他周边设备之间的输入和输出。
它是信息处理系统(例如计算机)与外部世界(可能是人类或另一信息处理系统)之间的通信。
将这些关键字组合在一起就能理解Node.js的高性能有一部分是通过避免等待I/O(读写数据库、文件访问、网络调用等)响应来实现的。
3、事件驱动
事件驱动是一种异步化的程序设计模型,通过用户动作、操作系统或应用程序产生的事件,来驱动程序完成某个操作。
在Node.js中,事件主要来源于网络请求、文件读写等,它们会被事件循环所处理。
在浏览器的DOM系统中使用的也非常广泛,例如为按钮绑定click事件,在用点击按钮时,弹出提示或提交表单等。
4、单线程
Node.js的单线程是指运行JavaScript代码的主线程,网络请求或异步任务等都交给了底层的线程池中的线程来处理,其处理结果再通过事件循环向主线程告知。
单线程意味着所有任务需要排队有序执行,如果出现一个计算时间很长的任务,那么就会占据主线程,其他任务只能等待,所以说Node.js不适合CPU密集型的场景。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。