IO操作(同步阻塞、同步非阻塞、异步)

2015-11-30 diaba IO

IO操作可以分为3类:

        同步阻塞(即早期的IO操作,<=jdk1.4)、同步非阻塞(NIO,>=jdk1.4)、异步(AIO,>=jdk1.7)。 

同步阻塞: 
    在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统的IO模型属于此种方式。 

同步非阻塞: 
    在此种方式下,用户进程发起一个IO操作以后边可返回做其它事情,但是用户进程需要时不时的询问IO操作是否就绪,这就要求用户进程不停的去询问,从而引入不必要的CPU资源浪费。其中目前JAVA的NIO就属于同步非阻塞IO。 
异步: 
    此种方式下是指应用发起一个IO操作以后,不等待内核IO操作的完成,等内核完成IO操作以后会通知应用程序。” 

标签: IO操作 同步 异步 阻塞

发表评论:

Powered by emlog 京ICP备15045175号-1 Copyright © 2022