zoukankan      html  css  js  c++  java
  • 11.14并发编程的IO模型

    1..网络IO的两个阶段 waitdata :网络传输的等待时间

                  Copydata:应用程序复制到系统内存的时间

    2.阻塞IO模型

          多线程 多进程 还是 线程池 进程池等 都是阻塞

    3.非阻塞IO模型

                 在非阻塞io中 需要不断循环询问操作是否有需要处理的数据

                    这一来 对应程序而言 效率确实高

                 但是操作系统而言 你的程序就像一个病毒 CPU将被你强行霸占

    当你的TCP程序 没有连接 没有数据接收 没有数据发送时 就是在做无用循环 浪费系统资源

    4.多路复用

             单个进程就可以同时处理多个网络连接的io

    原理: 就是select这个function会不断的轮回询问所有的socket 有没有数据daoda, 一旦有数据到达就会通知用户进程

    Select是阻塞的

    结论: select 不适合单个链接,多个链接才能提现它的优势

                

    5.异步IO模型

             在wiatdata的时间去做其他事情,等有数据了会发送signal通知

  • 相关阅读:
    得到cxgrid筛选后的记录数
    服务器之ipmitool
    CentOS6.8部署SVN
    NGINX快速部署
    Nginx模块系列之auth_basic模块
    持续集成、持续交付、持续部署
    CentOS6.X 升级内核至 3.10
    Dmidecode
    新建虚拟机
    Linux之(tomcat)服务之服务调优
  • 原文地址:https://www.cnblogs.com/zhouhai007/p/9960291.html
Copyright © 2011-2022 走看看