码迷,mamicode.com
首页 > 其他好文 > 详细

I/O中的 同步异步,阻塞非阻塞

时间:2020-07-05 23:01:18      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:bsp   select   没有   文件描述符   描述   磁盘   解决   多路复用   页高速缓存   

I/O中的同步和异步的概念和线程中不太一样。

I/O写的时候,默认是写到页高速缓存就返回的,然后异步刷到磁盘上。而同步的I/O指的是改动写到磁盘上之后才会返回结果.可以通过fsync(),和fdatasync()将改动同步到磁盘。或者在open()的时候就指明同步的参数。

而阻塞和非阻塞指的是,在文件没有内容可读的时候(不实EOF)是阻塞等待数据,还是立马返回-1错误

 

直接I/O是同步I/O

 

I/O多路复用支持应用同时在多个文件描述符上阻塞,并在其中某个可以读写时收到通知。

Linux提供了三种I/O多路复用方案:select,poll和epoll,epoll是Linux特有的高级解决方案

I/O中的 同步异步,阻塞非阻塞

标签:bsp   select   没有   文件描述符   描述   磁盘   解决   多路复用   页高速缓存   

原文地址:https://www.cnblogs.com/lccsblog/p/13252055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!