记一次java的几种IO模型的了解

拈花ヽ惹草 提交于 2019-11-28 07:39:45
                                            IO
1、阻塞型

    读写的时候会阻塞,发出请求读写之后线程就会去问东西是否准备好,准备好了就开始读写,这期间的等待就是读写的阻塞。
    
2、非阻塞型

    读写时不会阻塞,工作形式是循环查看是否资源准备好,不管有没有准备好都会告诉你,一直询问,直到准备好
    
3、多路复用型

    有一个线程专门负责循环查询N个资源情况,哪个个socket的好了就通知哪个,这种有点像一个包工头和一群工人,一群工人都去包工头
    那里干活,什么时候干活去哪里干活要等包工头通知

4、信号型
    
    在请求读写操作的时候会注册一个信号,就可以去干其他的事情了,有点像去买东西人去了货可能断了还没到,你留着个电话,货到了给
    你打电话,就可以来取了。

5、异步型
    
    异步型发起异步读写请求之后就立马可以做其他事情去了,当系统知道你发起的是一个异步的读写请求时,也是会立即告诉你申请成功了
    ,当系统再次通知你的时候,活已经干完了 ,这也是和信号型的区别
    

        
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!