02.第二階段、實戰Java高併發程序設計模式-1.基礎

  1. 幾個重要的概念
 同步(synchronous)和異步(asynchronous)
 併發(Concurrency)和並行(Parallelism)
 臨界區
 阻塞(Blocking)和非阻塞(Non-Blocking)
 鎖(Deadlock)、飢餓(Starvation)和活鎖(Livelock)  並行的級別
  1. 同步(synchronous)和異步(asynchronous)併發

  2. 併發(Concurrency)和並行(Parallelism)異步

  3. 臨界區async

  4. 阻塞(Blocking)和非阻塞(Non-Blocking)atom

  5. 死鎖(Deadlock)、飢餓(Starvation)和活鎖(Livelock)線程

  6. 併發級別3d

    1. 阻塞code

      當一個線程進入臨界區後,其餘線程必須等待
    2. 無障礙(Obstruction-Free)blog

      – 無障礙是一種最弱的非阻塞調度 – 自由出入臨界區
       – 無競爭時,有限步內完成操做
       – 有競爭時,回滾數據
    3. 無鎖(Lock-Free)get

      – 是無障礙的
       – 保證有一個線程能夠勝出
       while (!atomicVar.compareAndSet(localVar, localVar+1)) {
         localVar = atomicVar.get(); }
    4. 無等待(Wait-Free)同步

      – 無鎖的
       – 要求全部的線程都必須在有限步內完成
       – 無飢餓的
  7. 有關並行的2個重要定律

    1. Amdahl定律(阿姆達爾定律)

    2. Gustafson定律(古斯塔夫森)

相關文章
相關標籤/搜索