最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java并發(fā)分段鎖實踐代碼

 更新時間:2019年07月04日 14:39:47   作者:cutter_point  
這篇文章主要介紹了java并發(fā)分段鎖實踐代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

以下是代碼:

package cn.study.concurrency.ch11;

/**
 * 鎖分段
 * @author xiaof
 *
 */
public class StripedMap {
  //同步策略:就是對數(shù)組進行分段上鎖,n個節(jié)點用n%LOCKS鎖保護
  private static final int N_LOCKS = 16;
  private final Node[] buckets;
  private final Object[] locks;
  
  private static class Node
  {
    private String name;
    private Node next;
    private String key;
    private String value;
    public String getValue() {
      return value;
    }
    public void setValue(String value) {
      this.value = value;
    }
    public String getName() {
      return name;
    }
    public void setName(String name) {
      this.name = name;
    }
    public Node getNext() {
      return next;
    }
    public void setNext(Node next) {
      this.next = next;
    }
    public String getKey() {
      return key;
    }
    public void setKey(String key) {
      this.key = key;
    }
    
  }
  
  public StripedMap(int numBuckets)
  {
    buckets = new Node[numBuckets];
    //創(chuàng)建對應hash的鎖
    locks = new Object[N_LOCKS];
    for(int i = 0; i < N_LOCKS; ++ i)
    {
      locks[i] = new Object();
    }
  }
  
  private final int hash(Object key)
  {
    //取絕對值
    return Math.abs(key.hashCode() % buckets.length);
  }
  
  //get和clear
  public Object get(Object key)
  {
    int hash = hash(key);
    synchronized(locks[hash % N_LOCKS])
    {
      //分段上鎖
      for(Node m = buckets[hash]; m != null; m = m.next)
      {
        if(m.key.equals(key))
          return m.value;
      }
    }
    
    return null;
  }
  
  /**
   * 清除所有的數(shù)據(jù),但是沒有要求說要同時獲取全部的鎖的話,可以進行這樣的釋放操作
   */
  public void clear()
  {
    for(int i = 0; i < buckets.length; ++i)
    {
      synchronized(locks[i % N_LOCKS])
      {
        buckets[i] = null;
      }
    }
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot2.0.3打印默認數(shù)據(jù)源為 HikariDataSource (null)問題

    SpringBoot2.0.3打印默認數(shù)據(jù)源為 HikariDataSource (null)問題

    這篇文章主要介紹了SpringBoot2.0.3打印默認數(shù)據(jù)源為 HikariDataSource (null)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例

    詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例

    這篇文章主要介紹了詳解eclipse創(chuàng)建maven項目實現(xiàn)動態(tài)web工程完整示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • java實現(xiàn)手機短信驗證的基本思路

    java實現(xiàn)手機短信驗證的基本思路

    這篇文章主要為大家詳細介紹了java實現(xiàn)手機短信驗證的基本思路,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • JavaWeb Servlet實現(xiàn)網(wǎng)頁登錄功能

    JavaWeb Servlet實現(xiàn)網(wǎng)頁登錄功能

    這篇文章主要為大家詳細介紹了JavaWeb Servlet實現(xiàn)網(wǎng)頁登錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java集合框架Collections原理及用法實例

    Java集合框架Collections原理及用法實例

    這篇文章主要介紹了Java集合框架Collections原理及用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Spring中ClassPath指的是哪些地方

    Spring中ClassPath指的是哪些地方

    在Spring應用中,ClassPath指的是應用程序的類加載路徑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • Java RabbitMQ的工作隊列與消息應答詳解

    Java RabbitMQ的工作隊列與消息應答詳解

    這篇文章主要為大家詳細介紹了Python實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 詳解Java中final的用法

    詳解Java中final的用法

    本文主要介紹了Java中final的使用方法,final是java的關(guān)鍵字,本文就詳細說明一下它的使用方法,需要的朋友可以參考下
    2015-08-08
  • SpringBoot中郵件任務(wù)的使用

    SpringBoot中郵件任務(wù)的使用

    這篇文章主要介紹了SpringBoot中郵件任務(wù)的使用,SpringBoot?郵件任務(wù)是指使用SpringBoot框架來實現(xiàn)郵件發(fā)送和接收的功能,通過SpringBoot的自動配置和簡化的開發(fā)流程,我們可以輕松地集成郵件功能到我們的應用程序中,需要的朋友可以參考下
    2023-10-10
  • java實現(xiàn)猜字母游戲

    java實現(xiàn)猜字母游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)猜字母小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評論

道孚县| 彰化县| 名山县| 黄骅市| 仁化县| 綦江县| 花垣县| 平度市| 滨州市| 将乐县| 阜新市| 勃利县| 兴海县| 电白县| 绥滨县| 公主岭市| 阿荣旗| 孝义市| 江达县| 南雄市| 扎兰屯市| 襄垣县| 卫辉市| 邯郸市| 苗栗市| 伊川县| 庆城县| 合肥市| 南开区| 吉水县| 北辰区| 溧水县| 双牌县| 镇原县| 怀宁县| 石阡县| 玉树县| 寿阳县| 祁门县| 桂东县| 新邵县|