同步和异步
- 同步是指发起调用之后主线程只能挂起,调用者主动等待这个调用的结果
- 异步是指发起调用之后主线程可以作别的事情,被调用者通过通知来告知调用者结果
阻塞和非阻塞
什么是阻塞
线程在执行过程中如果遇到磁盘读写或网络通信(统称为I/O操作),通常要耗费较长的时间,这时操作 系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为——阻塞。
- 针对内核来说的,向内核发起请求的时候不会阻塞主线程的执行
- 非阻塞是实现异步的前置条件
什么是阻塞
线程在执行过程中如果遇到磁盘读写或网络通信(统称为I/O操作),通常要耗费较长的时间,这时操作 系统会剥夺这个线程的CPU控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为——阻塞。