其他 - 阻塞 & 同步 的基本认识

1. 概述

  1. 有些概念, 老是弄不清楚
    1. 同步异步
    2. 阻塞非阻塞

2. 准备

  1. 场景
    1. 角色

      1. client
        1. 发起请求
        2. 接受请求
      2. server
        1. 接受请求
        2. 执行操作
        3. 返回响应
    2. 行为

      1. 大致是一个 C/S 模式的模型

3. 阻塞 & 非阻塞

  1. 概述

    1. 对 客户端 行为的描述
  2. 行为

    1. 阻塞

      1. client 发出请求
      2. client 原地等待 server 处理完
      3. client 接到 server 响应, 继续前进
    2. 非阻塞

      1. client 发出请求
        1. 当然多数时候, 要确认 server 收到了请求, 简单考虑的话, 可以先不提
      2. client 继续前进
    3. 关注点

      1. client 向 server 发出请求后的行为模式

4. 同步 & 异步

  1. 概述

    1. 对 服务端 行为的描述
  2. 行为

    1. 同步

      1. server 接受请求
      2. server 处理请求
      3. server 返回响应
    2. 异步

      1. server 接受请求
      2. server 返回响应
        1. 收到请求
      3. server 处理请求
      4. server 返回响应
        1. 处理完成
    3. 关注点

      1. server 在收到请求后的行为模式
    4. 其他

      1. server 处理完请求, client 有多重方式知道 处理完成
        1. client 轮询
          1. client 主动
          2. 反复询问 server 情况
        2. client 监听
          1. server 主动
          2. 处理完后立即通知 client

5. 组合

  1. 阻塞同步

    1. 最常见的模型
      1. 最简单
  2. 阻塞异步

    1. 有点二逼的模型
      1. client 明明可继续前进, 非要傻等到 server 的处理完成
  3. 非阻塞同步

    1. 有点二逼的模型
      1. server 明明可以返回, 继续接受其他请求, 但还是在哪里阻塞
  4. 非阻塞异步

    1. 常见的模型
      1. 最高效
posted @ 2019-07-31 23:56  轩辕拾銉  阅读(161)  评论(0编辑  收藏  举报