• 【概念门清】同步和异步?阻塞IO和非阻塞IO?


    概念

    同步和异步<==>阻塞和非阻塞,概念类似。

    IO:输入输出,以程序为中心,磁盘向程序中塞东西即为输入(如读取文件),程序向磁盘塞东西即为输出(如保存文件)


    同步和异步解释

    个人理解而言如下图


    阻塞IO和非阻塞IO

    理解同上,不过线程的功能更有针对性,是针对文件操作,如读取文件,写入文件等功能。

    • 阻塞IO
      • 程序一路向下执行,遇到读取文件,则程序停下来读取文件,完毕后继续往下执行;当要写入文件,还是整体停下来等待写入完毕;一直到程序执行完毕。  
    • 非阻塞IO
      • 程序一瞬间或快速执行完整个程序代码;若中间遇到读取文件,则分一条分支去读取,程序继续往下执行;遇到写入文件,还是同样的。

    总结和比喻

    同步和阻塞

    • 比喻:一个大部队前往基地,中间有人有事,整个大部队停驻来等他完成事情回归部队后,大部队才继续往前走
    • 速度:整体进程慢

    异步和非阻塞

    • 比喻:一个大部队前往基地,中间有人有事(那么这个人就自己去做),大部队不等他,等他做完后回到大部队就行(也许大部队早就到了基地)
    • 速度:整体进程快速
  • 相关阅读:
    Understanding Optional and Compulsory Parameters
    WebMail
    bool?
    第六章笔记 上
    菜鸟错题集
    vue的基本用法
    luogg_java学习_06_面向对象特性之封装和继承
    luogg_java学习_05_面向对象(方法和类)
    CSS3学习总结
    luogg_java学习_04_数组
  • 原文地址:https://www.cnblogs.com/xzp-blog/p/14015131.html
Copyright © 2020-2023  润新知