zoukankan      html  css  js  c++  java
  • IO的理解和等待队列和阻塞和非阻塞的理解

                                                     IO就是读数据或者写数据     包含一个时间概念在里面  包含一个system概念 

                                                     读数据的策略  

                                                     

                               

    阻塞和非阻塞时设备访问的两种基本形式。使用这两种形式,驱动程序可以灵活地支持阻塞和非阻塞的访问。select函数底层实现,里面实现用就是等待队列。

    阻塞调用时指调用结果返回之前,当前线程挂起。函数只有得到结果之后才会返回。

    等待队列可以用来同步对系统资源的访问,例如完成一项工作之后,才允许完成另一项工作。尤其是在中断处理,进程同步和定时等场合,

    可以使用等待队列实现阻塞进程的唤醒,它以队列为基础的数据结构,与进程调度机制紧密结合,能够用于实现内核中的异步事件通知机制,同步对系统资源的访问。

    阻塞就是等待队列去了。

    等待队列需要的操作:

     

     总结: 

            阻塞和非阻塞在驱动程序中经常用到。 阻塞在IO操作暂时不能进行时,让进程进入等待队列。

    后者在IO操作暂时不能进行时,立刻返回。阻塞和非阻塞就是由等待队列实现的。 

        

                          

                                                    

    一勤天下无难事。
  • 相关阅读:
    POJO,简单的Java对象
    Oracle 11g R2 for Win7旗舰版(64位)- 安装
    Eclipse安装与配置
    Tomcat 安装、配置与部署
    图形数据库 Neo4j 开发实战【转载】
    Java 语言中 Enum 类型的使用介绍【转载】
    IBM Java 7 新特性和在 WAS 8.5 中的配置【转载】
    为Eclipse指定JVM
    网页页面的宽度:950 还是 960?
    Zabbix + Grafana
  • 原文地址:https://www.cnblogs.com/nowroot/p/12637529.html
Copyright © 2011-2022 走看看