nodejs

261 阅读1分钟

nodejs的特点:

单线程:减少了内存的开销 如果某个事件来了,被io阻了,所以这个线程被阻塞了,所以用非阻塞io,

非阻塞io:不会傻等io语句结束,而会执行后面的语句。 非阻塞就能解决问题了吗?比如非阻塞执行小红的业务,执行过程中小刚的某一个io回调完成了,所以用

事件驱动(时间环): 不管是新用户的请求,还是老用户的回调完成,都将以事件方式加入事件环,等待调度。

  • nodejs中所有io都是异步的,都是回调套回调套回调

nodejs适合用来开发什么?

nodejs善长io不善长计算

nodejs擅长业务调度,如果你的业务有很多的cpu计算,实际上也相当于这个计算阻塞了这个单线程,不适合node开发

当应用程序需要处理大量的并发io,而在向客户端发出响应之前,应用程序内部不需要进行特别复杂的处理的时候。

nodejs也非常适合于websocket配合,开发长链接(任务调度)的实时交互应用程序

// 用户表单收集
// 考试系统
// 聊天室
// 图文直播
// 提供json的api(为前台angular使用)