首页 → 名言 → 成长励志散文
java同步的概念 java同步操作
日期:2023-02-20 01:35:13    编辑:网络投稿    来源:网络资源
Java中同步與并發的運用  Java中同步與并發的運用  1.同步容器類包括兩部分:vector和hashtable  另一類是同步包裝類,由Collections.synchronizedXXX創建。同步容器對容
为你推荐:
  • 句句深入人心的人生
  • 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中同步與并發的運用】相關文章:

    1.java并發編程參考

    2.Java并發編程:深入剖析ThreadLocal

    3.Java中定義與聲明的區別

    4.java中extends與implements區別

    5.Java中Number 與 Math 類

    6.Java中的stream流的解析與應用

    7.Java線程同步的優先級介紹

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

    这里有更多你想看的
  • 適合各種心情的句子
    • 相关阅读
    • java 
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部