zoukankan      html  css  js  c++  java
  • CPU密集型和I/O密集型区别

    CPU密集型

    一些进程绝大多数时间在计算上,称为计算密集型(CPU密集型)computer-bound。一些大量循环的代码(例如:图片处理、视频编码、人工智能等)就是CPU密集型。

    I/O密集型

    有一些进程则在input 和output上花费了大多时间,称为I/O密集型,I/O-bound。比如搜索引擎蜘蛛大多时间是在等待相应这种就属于I/O密集型。

    Nodejs

    众所周知node.js是单线程的,正常来说nodejs处理CPU密集型就比较乏力,毕竟只有一条线程。

    node从他推出至今,充满赞美和饱受诟病的都是其单线程模型,所有的任务都在一个线程中完成(I/O等例外),优势的地方自然是免去了频繁切换线程的开销,以及减少资源互抢的问题等等,但是当nodejs面对cpu密集型模型的时候就力不从心了。尽管node拥有异步机制,可以把一些耗时算法丢入eventloop等待下个事件循环再做,但是因为其任然是单线程模型,所以终究会造成阻塞。

  • 相关阅读:
    ts笔记-辨析联合类型
    ts笔记-类型兼容性
    ts笔记-never和void
    ts笔记-泛型
    ts笔记-类型断言
    ts笔记
    ts笔记
    ts类型-枚举
    ts笔记-类型声明
    ts笔记-类型系统
  • 原文地址:https://www.cnblogs.com/amiezhang/p/7631239.html
Copyright © 2011-2022 走看看