I/O中的 同步异步,阻塞非阻塞
Posted lccsblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O中的 同步异步,阻塞非阻塞相关的知识,希望对你有一定的参考价值。
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中的 同步异步,阻塞非阻塞的主要内容,如果未能解决你的问题,请参考以下文章