zoukankan      html  css  js  c++  java
  • 异步与同步,阻塞与非阻塞的正确认识

    1.同步和异步:

    同步和异步关注的是消息通信机制,
    同步:就是当程序发出一个调用时,此时程序在主动等待调用返回的结果
    异步:就是当程序发出一个调用时,此时程序会继续执行,而不会等待这个调用的结果,被调用者会通过状态,通知,或回调函数等处理调用的结果

    2.阻塞和非阻塞:

    阻塞和非阻塞关注的是程序在等待调用结果时的状态
    阻塞:理解为调用返回结果之前,此线程会挂起来,只有在调用返回结果之后程序继续执行
    非阻塞:与阻塞相反,发起调用之后不会等待调用返回结果,继续执行.

    异步非阻塞

    当一个程序A对程序B发起调用后,A程序不被挂起继续执行(非阻塞),调用返回的结果消息由B程序以回调函数等方式返回给A程序,而不是A程序主动去获取的(异步);

    异步阻塞

    当一个程序A对程序B发起调用后,A程序被挂起不继续执行(阻塞),调用返回的结果消息由B程序以回调函数等方式返回给A程序,而不是A程序主动去获取的(异步);

    同步非阻塞

    当一个程序A对程序B发起调用后,A程序不被挂起继续执行(非阻塞)但会间断性来获取结果消息,调用返回的结果消息由A程序主动获取(同步);

    同步阻塞

    当一个程序A对程序B发起调用后,A程序被挂起不继续执行(阻塞),调用返回的结果消息由A程序主动获取(同步); 

    更多详情

  • 相关阅读:
    day46 mysql进阶
    解决:ping github.com遇到“请求超时”
    修改hosts文件
    Python正课135 —— 基础扩展1
    Python正课136 —— 基础扩展2
    05 树莓派安装Python3.6
    一次可以面向百度的笔试
    作业23
    获取类名和方法名
    面向对象三大特性之继承
  • 原文地址:https://www.cnblogs.com/changtao/p/10725862.html
Copyright © 2011-2022 走看看