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

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

                                                     读数据的策略  

                                                     

                               

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

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

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

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

    阻塞就是等待队列去了。

    等待队列需要的操作:

     

     总结: 

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

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

        

                          

                                                    

    一勤天下无难事。
  • 相关阅读:
    JAVA变量的作用域
    SQLite
    ajax
    浏览器调试
    SQL链接
    Computer
    Sql知识点总结
    Web Socket
    秒杀
    副业
  • 原文地址:https://www.cnblogs.com/nowroot/p/12637529.html
Copyright © 2011-2022 走看看