zoukankan      html  css  js  c++  java
  • nodejs阅读笔记

    安装包地址:http://nodejs.org ;检测是否安装成功 cmd , node

    设计思想:单线程,异步式I/O,事件驱动式

    nodejs线程执行的过程:当发起多个请求时,nodejs会专注的去执行一个请求,并把它放入事件队列里,它不会等待结果返回,而是直接继续执行后面的语句,直到进入事件循环。当结果返回时,会将事件发送到事件队列,等到线程进入事件循环后,才会调用之前的回调函数继续执行后面的逻辑。返回结果都是由事件循环来处理

    supervisor:它会监视你对代码的改动,并自动重启nodejs,不用你每次改动后手动重启。

      使用方法:安装  npm install -g supervisor(windows); sudo npm install -g supervisor(Linux,Mac)。启动文件时改用 supervisor 启动,栗子:supervisor app.js

    I/O操作:线程在执行中如果遇到磁盘读写或网络通信统称为I/O操作

    阻塞I/O:操作系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式为阻塞。当I/O操作完毕时,操作系统将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种模式称为同步式I/O(Synchronous I/O) 或阻塞式I/O(Blocking I/O)

    异步I/O:异步式I/O(Asynchronous I/O)或非阻塞式I/O(Non-blocking I/O),当线程遇到I/O操作时,不会以阻塞的方式等待I/O操作的完成或数据的返回,而只是将I/O请求发送给操作系统,继续执行下一条语句。当操作系统完成I/O操作时,以事件的形式通知执行I/O操作的线程,线程会在特定时候处理这个事件。为了处理异步I/O,线程必须有事件循环,不断的检查有没有未处理的事件,依次给予处理。

        

  • 相关阅读:
    《Erlang程序设计》学习笔记-第2章 并发编程
    《Erlang程序设计》学习笔记-第1章 编译并运行程序
    76个值得你注意的erlang编程习惯
    教你透彻了解红黑树
    B树、B-树、B+树、B*树 红黑树
    TCP协议的一些认识及实践
    epoll 和select
    Log4erl
    排序_快速排序
    划分_快速排序的前提技术
  • 原文地址:https://www.cnblogs.com/cxdxm/p/7275277.html
Copyright © 2011-2022 走看看