Node 高并发的原理

2019-04-06
阅读量
node
  1. node的优点:I/O密集型处理是node的强项,因为node的I/O请求都是异步的(如:sql查询请求、文件流操作操作请求、http请求...)

    a. 什么是异步?

      异步:发出操作指令,然后就可以去做别的事情了(主线程不需要等待),所有操作完成后再执行回调

    b. 拥有异步I/O的node为什么可以支持高并发呢?

      因为I/O操作是由node的工作线程去执行的(nodejs底层的libuv是多线程的线程池用来并行io操作),且主线程是不需要等待结果返回的,只要发出指令马上就可以去忙其他事情了。

  1. node的缺点:不擅长cpu密集型的操作

    a. 什么是cpu密集型操作(复杂的运算、图片的操作)

// 这就是一个cpu密集型的操作 for (let i = 0; i < 100000000; i++) { console.log(i); }     b. nodejs为什么不擅长cpu密集型操作

      因为nodejs是单线程的,进行密集型的运算会导致主线程挂起

赞赏

欢迎关注我的公众号,秋风的笔记。

本站总访问量