<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            Java中同步與并發的運用

            時間:2025-02-06 18:57:19 java語言 我要投稿
            • 相關推薦

            Java中同步與并發的運用

              Java中同步與并發的運用

              1.同步容器類包括兩部分:vector和hashtable

              另一類是同步包裝類,由Collections.synchronizedXXX創建。同步容器對容器的所有狀態進行串行訪問,從而實現線程安全。

              它們存在如下問題:

              a) 對于符合操作,需要額外的鎖保護。比如迭代,缺少則添加等條件運算。

              b) toString,hashCode,equals都會間接的調用迭代,都需要注意并發。

              2.java5.0中的.并發容器。

              ConcurrentHashMap可以替代同步Map實現。

              當主要為讀操作時,CopyOnWriteArrayList是List的同步實現。

              同時,增加了Queue和BlockingQueue:ConcurentLinkedQueue:FIFO隊列。

              PriorityQueue:非并發的優先級順序隊列。

              BlockingQueue則增加了可阻塞的插入和獲取。

              a) ConcurentHashMap:不是使用一個公共鎖,而是分離鎖。任意數量的讀線程可以并發訪問map,讀者和寫者也可以并發訪問Map,并且有限數量的寫還可以并發修改Map。但是,size和isEmpty語言被弱化,是估算值。

              b) CopyOnWriteArrayList:迭代器保留一個底層基礎數組引用,改引用不會修改。

              3.Synchronizer

              a) 閉鎖(CountDownLatch)。構造函數參數為n,通過countDown,n為0后,所有await的線程繼續執行。

              b) FutureTask:計算由Callable實現,可以攜帶結果的Runnable。包括:等待,運行和完成。

              c) Semaphore:控制能夠同時訪問的活動數量

              d) CyclicBarrier:類似于閉鎖。閉鎖等待的是事件,關卡等待的是其他線程。初始n,Runnable r,n個線程都await(),當n個線程都執行完成后到達關卡時,r執行,關卡重置,n個線程繼續。

             

            【Java中同步與并發的運用】相關文章:

            java并發編程參考12-01

            Java線程同步的方法05-27

            Java并發編程:深入剖析ThreadLocal03-15

            Java 如何進行線程同步05-19

            java多線程的同步和異步02-02

            從 JDK 源碼角度看 java 并發線程的中斷03-09

            Java的設計模式編程中責任鏈模式的運用的實例講解07-07

            JAVA多線程并發下的單例模式應用02-22

            Java線程同步的優先級介紹04-10

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院