看过阿里的《深入java web技术内幕后》觉得这个地方需要改改~~~显然书中的说法更加条理清晰
所以修改了一下。下面是我的简略笔记
交互方式:
1同步异步。
同步在于两组任务同时完成或者同时不完成,具有原子性。异步在与分头进行,两个任务的成功与否没有关联依赖。简单来说异步不可靠但是效率高。只能平衡不能达到完美。
2阻塞非阻塞。
阻塞就是CPU在完成任务A之前不进行其他任务,非阻塞就是CPU在做A任务的同时也在做B任务。阻塞能保证任务的优先级次序不被打乱,非阻塞能更大的提升CPU的利用率。
3组合方式。
同步阻塞:最安全最常用,性能最差,最简单。
同步非阻塞:提升了IO性能,但是增加CPU消耗,需要考虑CPU的消耗是瓶颈还是IO的性能是瓶颈进行取舍。
异步阻塞:分布式数据库经常用到能明显提升IO效率。
异步非阻塞:IO性能最高,但是处理起来非常繁杂。