• 网络编程(笔记四)


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

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

     

     

     

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

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

    二、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支持比较。
  • 相关阅读:
    尘埃里的路人乙
    SlidingMenu 插件的使用 二
    观察者模式
    Android SlidingMenu插件的使用
    Android4.2 的Http 多线程 网络传输
    Sliverlight界面研究1
    Sliverlight界面研究2
    图片切换效果(定时+编号)
    管理模型 RACI模型
    Enable NLA in XP
  • 原文地址:https://www.cnblogs.com/libinhyq/p/15394094.html
Copyright © 2020-2023  润新知