同步IO的概念
一个线程进行一个IO操作,等待进入睡眠态直到IO操作完成后再继续执行后面的工作。
同步IO在同一时刻只能进行一个IO操作,即文件句柄都是序列化了(原子性操作化了),
既不能同时有两个线程对同一个局句柄进行 IO操作。
异步IO的概念
一个线程发送一个IO操作请求给内核进行IO操作,不会进行等待直接继续执行工作,内核把IO操作完成后将会通过进行IO已经操作完成。
当然如果IO操作请求需要大量的数据操作(需要大量时间),那么其效率是有很明显的提高。支持多个线程同时发送IO请求操作!
当然如果IO操作请求很快就完成IO操作了,那么异步IO反而会比同步IO效率低。
可以把他们当成系统IO和标准IO一样,数据量大的IO操作是很明显具有缓存区的标准IO快,反之就不一样了。