一、 同步异步区别
程序员感知层次IO(也可以认为通信方式不同)
同步: 当一个同步调用发出后, 需要等待结果返回,才能继续进行后续逻辑。
异步: 当一个异步调用发出后, 无需等待, 执行结果会通过回调方式传达给调用者。
二、 阻塞和非阻塞区别
线程层次IO,或者操作系统调度单元层次
阻塞: 发起请求,挂起线程,等待结果
非阻塞: 发起请求,不等待结果,结果出来后会回调结果
CPU层次IO : 现代操作系统基本都是异步非阻塞方式 , OS为了减轻程序员思考负担将底层的异步非阻塞IO方式进行了封装。 把相关系统调用(read, write等)以同步方式展现出来