zoukankan      html  css  js  c++  java
  • 怎样理解阻塞非阻塞与同步异步的区别?

    看过阿里的《深入java web技术内幕后》觉得这个地方需要改改~~~显然书中的说法更加条理清晰

    所以修改了一下。下面是我的简略笔记

    交互方式:

    1同步异步。

      同步在于两组任务同时完成或者同时不完成,具有原子性。异步在与分头进行,两个任务的成功与否没有关联依赖。简单来说异步不可靠但是效率高。只能平衡不能达到完美。

     

    2阻塞非阻塞。

      阻塞就是CPU在完成任务A之前不进行其他任务,非阻塞就是CPU在做A任务的同时也在做B任务。阻塞能保证任务的优先级次序不被打乱,非阻塞能更大的提升CPU的利用率。

     

    3组合方式。

      同步阻塞:最安全最常用,性能最差,最简单。

      同步非阻塞:提升了IO性能,但是增加CPU消耗,需要考虑CPU的消耗是瓶颈还是IO的性能是瓶颈进行取舍。

      异步阻塞:分布式数据库经常用到能明显提升IO效率。

      异步非阻塞:IO性能最高,但是处理起来非常繁杂。

  • 相关阅读:
    Reference Counting GC (Part two :Partial Mark & Sweep)
    Reference Counting GC (Part one)
    Union File System
    Linux Cgroups
    Mark Sweep GC
    取模运算
    负数取模怎么算
    牛客【2021寒假集训营第一场】J-一群小青蛙呱蹦呱蹦呱
    记codeforces一个简单模拟题
    筛法求素数
  • 原文地址:https://www.cnblogs.com/blackdeng/p/9387842.html
Copyright © 2011-2022 走看看