zoukankan      html  css  js  c++  java
  • 网络编程(笔记四)

    一、阻塞非阻塞/同步异步概念

    涉及的角色:调用双方/双方的执行者

     

     

     

    阻塞和非阻塞是对同一个线程来说的,在某个时刻,线程要么处于阻塞,要不处于非阻塞。

    同步和异步是指:发送方和接收方是否协调步调一致。

    二、BIO  ---阻塞IO的含义

    1. 阻塞(blocking)IO:资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超不可用时)
    2. 非阻塞(non-blocking)IO:资源不可用时,IO请求离开返回,返回数据标识资源不可用。
    3. 同步(synchronous)IO:应用阻塞在发送或接收数据的状态,直到数据传输成功或返回结果。
    4. 异步(asynchronous)IO:应用发送或接收数据后立刻返回,处理结果通过回调来通知。

    三、5种IO模式

    1. 阻塞IO模型:Socket  面向字节流。
    2. 非阻塞IO模型:面向缓冲API。
    3. IO复用模型:linux底层:select,poll:返回后遍历文件描述符来获取已经就绪的socket;epoll,kqueue:不需要遍历,注册了一个事件函数。
    4. 信号驱动IO模型
    5. 异步IO模型:AIO事件模型,IOCP支持比较。
  • 相关阅读:
    手撕RPC框架
    关于JVM的一些冷知识
    luoguP2627 修剪草坪
    [USACO16OPEN]248
    luoguP1171 售货员的难题
    luoguP2016 战略游戏
    luoguP2422 良好的感觉
    POJ1160 [IOI2000]Post Office
    luoguP2015 二叉苹果树
    BZOJ1756 小白逛公园
  • 原文地址:https://www.cnblogs.com/libinhyq/p/15394094.html
Copyright © 2011-2022 走看看