一、I/O模型中的同步/异步
1、在I/O模型中,同步I/O是说I/O的读写操作,是在I/O事件发生之后,由应用程序来完成的。对于异步I/O来说,它可以直接对I/O执行读写操作,这些操作告诉用户内核缓冲区的位置,以及I/O操作完成之后内核通知应用程序的方式
2、异步I/O总是立即返回的,因为真正的读写操作已经由内核接管。同步I/O的读写操作由应用程序自己完成。换言之,同步I/O内核通知的是就绪事件,而异步I/O内核通知的是完成事件
二、并发模式中的同步/异步
进程的同步:指进程完全按照代码的执行顺序执行的,当需要一个还未准备好的数据时,他就会一直死等或者时不断地轮询查看,直到数据就绪,才能接着运行
进程地异步:进程地执行由系统事件(信号、中断等)来驱动,简单地说就是如果异步执行地程序需要数据时,只是发出要数据地请求,然后接着干自己地事情,等数据就绪后,内核会通知它,然后进程回来接着处理就行了
三、阻塞/非阻塞
阻塞与非阻塞关注地是程序在等待调用地结果时地状态
阻塞运行:程序在结果返回之前,会被挂起,只有得到结果才会接着运行
非阻塞运行:程序在不能得到结果地时候,也不会倍挂起,而是会立即返回