目录
 
首页 后端开发 php教程 NodeJs菜鸟初始_PHP教程

NodeJs菜鸟初始_PHP教程

Jul 20, 2016 am 11:13 AM
nodejs 事件 异步 特点 编程 菜鸟 这个 驱动

一、nodejs具有事件驱动、异步编程的特点。

事件驱动这个词并不陌生,在某些传统语言的网络编程中,我们会用到回调函数,比如当socket资源达到某种状态时,注册的回调函数就会执行。Node.js的设计思想中以事件驱动为核心,它提供的绝大多数API都是基于事件的、异步的风格。以Net模块为例,其中的net.Socket对象就有以下事件:connect、data、end、timeout、drain、error、close等,使用Node.js的开发人员需要根据自己的业务逻辑注册相应的回调函数。这些回调函数都是异步执行的,这意味着虽然在代码结构中,这些函数看似是依次注册的,但是它们并不依赖于自身出现的顺序,而是等待相应的事件触发。事件驱动、异步编程的设计,重要的优势在于,充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。此类设计非常适合于后端的网络服务编程,Node.js的目标也在于此。在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟。通过事件注册、异步函数,开发人员可以提高资源的利用率,性能也会改善。从Node.js提供的支持模块中,我们可以看到包括文件操作在内的许多函数都是异步执行的,这和传统语言存在区别,而且为了方便服务器开发,Node.js的网络模块特别多,包括HTTP、DNS、NET、UDP、HTTPS、TLS等,开发人员可以在此基础上快速构建Web服务器。

二、nodejs的性能分析

Node.js的性能不错。按照创始人Ryan Dahl的说法,性能是Node.js考虑的重要因素,选择C++和V8而不是Ruby或者其他的虚拟机也是基于性能的目的。Node.js在设计上也是比较大胆,它以单进程、单线程模式运行(很吃惊,对吧?这和Javascript的运行方式一致),事件驱动机制是Node.js通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求,Node.js凭借事件驱动搞定一切,习惯了传统语言的网络服务开发人员可能对多线程并发和协作非常熟悉,但是面对Node.js,我们需要接受和理解它的特点。由此我们是否可以推测出这样的设计会导致负载的压力集中在CPU而不是内存。既然Node.js采用单进程、单线程模式,那么在如今多核硬件流行的环境中,单核性能出色的Node.js如何利用多核CPU呢?创始人Ryan Dahl建议,运行多个Node.js进程,利用某些通信机制来协调各项任务。目前,已经有不少第三方的Node.js多进程支持模块发布

 

apt-get install nodejs apt-get install npm 建议安装之后看下nodejs的版本是多少,因为一些ubuntu自带的nodejs版本比较老,由此导致npm install不了一些node模块组件 针对比较老的版本,建议重新安装一下nodejs wget http://nodejs.org/dist/v0.10.12/node-v0.10.12.tar.gz tar zxvf node-v0.10.12.tar.gz cd node-v0.10.12 ./configure make && make install 以上就是nodejs的所需要的安装包   下面就让大家来熟悉下nodejs的一些基础 建议大家去看看这篇(http://wenku.baidu.com/view/22a03f6d011ca300a6c39092.html):个人感觉对于有些js基础的童鞋还是很有帮助的,能够让你简单的入门。   看完上面这篇文章我相信大家对nodejs有了初步的了解了,由于本人也在初学阶段,所以了解的就这么多啦,顺带一些大家看完上面的可以了解一些nodejs的框架express。 后续的等博主继续努力后在将一些资料整理给大家哈  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440375.htmlTechArticle一、nodejs具有事件驱动、异步编程的特点。 事件驱动这个词并不陌生,在某些传统语言的网络编程中,我们会用到回调函数,比如当socke...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

AMD 发布 24.7.1 驱动更新:《只:女神之路》性能提升 16%、支持《绝区零》游戏 AMD 发布 24.7.1 驱动更新:《只:女神之路》性能提升 16%、支持《绝区零》游戏 Jul 20, 2024 pm 02:52 PM

本站7月20日消息,AMD公司昨日(7月19日)发布了最新AMDSoftware:AdrenalinEdition24.7.1驱动更新,支持《只:女神之路》(相比此前版本,性能最高提升16%)和《绝区零》游戏。 AMD本次驱动更新还为《DOTA2》游戏引入了RadeonAnti-Lag2技术,AMD官方表示AMDRDNA架构的独立显卡和核显安装本次驱动之后,可以进一步减少输入延迟,提高游戏体验。 AMD在新驱动中还修复了大量BUG,信息如下:改进了启用AMDRadeon™Anti-Lag和AMDFi

Java异常处理中的异步和非阻塞技术 Java异常处理中的异步和非阻塞技术 May 01, 2024 pm 05:42 PM

异步和非阻塞技术可用于补充传统异常处理,允许创建更具响应性和高效的Java应用程序:异步异常处理:在另一个线程或进程中处理异常,允许主线程继续执行,避免阻塞。非阻塞异常处理:涉及在I/O操作出错时事件驱动的异常处理,避免阻塞线程,由事件循环处理异常。

魔改「黑神话悟空」,打败 Midjourney,这个 AI 生图神器让人上头 魔改「黑神话悟空」,打败 Midjourney,这个 AI 生图神器让人上头 Aug 23, 2024 pm 09:42 PM

当AI文生图比拼真实度、艺术感,Ideogram开辟了一个刁钻的赛道:在图片上精准生成文字,并且字体和排版都好看。这个需求并不小众,一键生成海报、插画,还不用P图,能够省不少事,很适合对设计一窍不通的普通人。我们之前写过Ideogram的1.0版本。8月21日,2.0版本来了,真实感更好了,海报更有设计感了,文字这个看家本领也更强了。你或许从来没有听说过它,这是一款前Google员工开发的AI产品,缺点不少,但长板能「弯道超车」Midjourney。指路https://ideogram.ai/A

使用 Python 解决问题:作为初学者,解锁强大的解决方案 使用 Python 解决问题:作为初学者,解锁强大的解决方案 Oct 11, 2024 pm 08:58 PM

Python 使初学者能够解决问题。其用户友好的语法、广泛的库以及变量、条件语句和循环等功能可实现高效的代码开发。从管理数据到控制程序流程和执行重复任务,Python 提供了

Windows禁用驱动程序强制签名,解决个别设备驱动无法正常安装 Windows禁用驱动程序强制签名,解决个别设备驱动无法正常安装 Jun 19, 2024 am 07:22 AM

驱动程序签名又叫做驱动程序的数字签名,它是由微软的Windows硬件设备质量实验室完成的。硬件开发商将自己的硬件设备和相应的驱动程序交给该实验室,由实验室对其进行测试,测试合格后实验室将在其驱动程序中添加数字签名。由于数字签名是由微软完成的。电脑需安装了驱动才能正常使用,而有时会发现下载来的驱动程序无法安装没有数字签名,这是系统为了安全问题而阻挡了没有经过认证的驱动安装,不过有些时候一些特殊设备没有通过验证的驱动,那么显然只有暂时关闭数字签名才能正常安装。下面我们就来看看如何禁用驱动程序强制签名

如何使用 PHP 构建基于事件的应用程序 如何使用 PHP 构建基于事件的应用程序 May 04, 2024 pm 02:24 PM

在PHP中构建基于事件的应用程序的方法包括:使用EventSourceAPI创建事件源,并在客户端使用EventSource对象监听事件。使用服务器发送的事件(SSE)发送事件,并在客户端使用XMLHttpRequest对象监听事件。一个实用的例子是在电子商务网站中使用EventSource实时更新库存计数,在服务器端通过随机更改库存并发送更新来实现,客户端则通过EventSource监听库存更新并实时显示。

C++ 编程谜题集锦:激发思维,提升编程水平 C++ 编程谜题集锦:激发思维,提升编程水平 Jun 01, 2024 pm 10:26 PM

C++编程谜题涵盖斐波那契数列、阶乘、汉明距离、数组最大值和最小值等算法和数据结构概念,通过解决这些谜题,可以巩固C++知识,提升算法理解和编程技巧。

释放你内心的程序员:C 绝对初学者 释放你内心的程序员:C 绝对初学者 Oct 11, 2024 pm 03:50 PM

C语言是初学者学习编程的理想选择,其优势包括效率、多功能性和可移植性。学习C语言需要:安装C编译器(如MinGW或Cygwin)了解变量、数据类型、条件语句和循环语句编写包含主函数和printf()函数的第一个程序通过实战案例(如计算平均数)练习C语言知识

See all articles