zoukankan      html  css  js  c++  java
  • 【概念门清】同步和异步?阻塞IO和非阻塞IO?

    概念

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

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


    同步和异步解释

    个人理解而言如下图


    阻塞IO和非阻塞IO

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

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

    总结和比喻

    同步和阻塞

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

    异步和非阻塞

    • 比喻:一个大部队前往基地,中间有人有事(那么这个人就自己去做),大部队不等他,等他做完后回到大部队就行(也许大部队早就到了基地)
    • 速度:整体进程快速
  • 相关阅读:
    python学习之控制流1
    python学习之字符串转换
    python学习之数据类型与运算符号
    python之获取微信好友列表并保存文档中
    python之微信自动发送消息
    python之微信好友统计信息
    java并发编程--AtomicInteger
    java.time学习
    chrome插件
    classpath和classpath*
  • 原文地址:https://www.cnblogs.com/xzp-blog/p/14015131.html
Copyright © 2011-2022 走看看