国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

o2o網(wǎng)站建設(shè)最好公司seo研究中心qq群

o2o網(wǎng)站建設(shè)最好公司,seo研究中心qq群,小程序定制開發(fā)解決方案,建筑行業(yè)信息平臺1.1 常見的鎖策略 預測鎖衝突概率 樂觀鎖:加鎖的時候,假設(shè)出現(xiàn)鎖衝突的概率不大。圍繞加鎖做的工作會更少。 悲觀鎖:加鎖的時候,假設(shè)鎖出現(xiàn)衝突的概率很大。圍繞加鎖做的工作會更多。 synchronized “自適應(yīng)” 初始是樂觀的。鎖…

1.1 常見的鎖策略
  1. 預測鎖衝突概率

  • 樂觀鎖:加鎖的時候,假設(shè)出現(xiàn)鎖衝突的概率不大。圍繞加鎖做的工作會更少。

  • 悲觀鎖:加鎖的時候,假設(shè)鎖出現(xiàn)衝突的概率很大。圍繞加鎖做的工作會更多。

  • synchronized “自適應(yīng)” 初始是樂觀的。鎖衝突達到一定程度就會轉(zhuǎn)變爲悲觀的。

  1. 加鎖開銷(時間開銷)

  • 重量級鎖

  • 輕量級鎖

  • 掛起等待鎖:悲觀鎖/重量級鎖的一種典型實現(xiàn)。讓出cpu資源,過一段時間通過其他途徑得知,再伺機而動。

  • 自旋鎖:樂觀鎖/輕量級鎖的一種典型實現(xiàn)。忙等,等待過程中不釋放cpu資源,反復檢測鎖是否被釋放。一旦釋放立即有機會獲取到鎖。

  • 公平鎖:先來後到

  • 非公平鎖:synchronized ,剩下的都公平競爭

  • 可重入鎖 1)記錄當前是哪個綫程使用這個鎖 2)在加鎖是判定,申請當時鎖的綫程是否就是鎖的持有者綫程 3)計數(shù)器,記錄加鎖次數(shù),從而確定何時真正釋放鎖

  • 不可重入鎖

  • 死鎖問題:針對一把鎖連續(xù)兩次加鎖就可能出現(xiàn)死鎖,可以把鎖設(shè)置成“可重入鎖”

  1. 讀寫鎖

  • synchronized并非是讀寫鎖

  • 把加鎖操作分爲“讀加鎖”和”寫加鎖“,提供了兩種加鎖api,解鎖的api相同。

  • 如果,多個線程,同時讀這個變量,沒有線程安全問題。但是,一個線程讀/一個線程寫或者兩個線程都寫就會產(chǎn)生問題,

  • 如果兩個線程,都是按照讀方式加鎖,此時不會產(chǎn)生鎖沖突。如果兩個線程,都是加寫鎖,此時會產(chǎn)生鎖沖突。如果一個線程讀鎖,一個是寫鎖,也會產(chǎn)生鎖沖突。

  • 系統(tǒng)內(nèi)置鎖,可重入讀寫鎖ReentrantReadWriteLock。內(nèi)部類ReentrantReadwriteLock.ReadLock/ReentrantReadWriteLock.WriteLock。lock/unlock方法。

1.2 synchronized原理
  • 樂觀悲觀自適應(yīng)

  • 重量輕量,自適應(yīng)

  • 自旋掛起等待,自適應(yīng)

  • 非公平鎖

  • 可重入鎖

  • 不是讀寫鎖

  • 鎖升級:剛開始使用synchronized加鎖,首先鎖會處于“偏向鎖”狀態(tài)。遇到線程之間的鎖競爭,升級到“輕量級鎖“。進一步的統(tǒng)計競爭出現(xiàn)的頻次,達到一定程度之后,升級到“重量級鎖”。

  • synchronized加鎖的時候,會經(jīng)歷無鎖=>偏向鎖=>輕量級鎖=>重量級鎖。出現(xiàn)競爭/競爭激烈。鎖升級對當前jvm來説不可逆。

  • 偏向鎖不是真鎖,只是做個標記,比較輕量高效。

  • 鎖消除。(編譯器優(yōu)化策略)

  • 鎖粗化。(編譯器優(yōu)化策略)。鎖的粒度。synchronized{}裏代碼越多,粒度越粗。把多個”細粒度“的鎖合并成”粗粒度“的鎖。

1.3 CAS
  • compare and swap

  • 比較內(nèi)存和cpu寄存器中的內(nèi)容.如果發(fā)現(xiàn)相同,就進行交換(交換的是內(nèi)存和另一個寄存器的內(nèi)容)

  • 比較內(nèi)存和寄存器1中的值,是否相等如果不相等,就無事發(fā)生。如果相等,就交換內(nèi)存和寄存器2的值

  • 此處一般只是關(guān)心,內(nèi)存交換后的內(nèi)容。不關(guān)心寄存器2交換后的內(nèi)容。相當於”賦值“

  • 一個cpu指令就能完成??梢詫憽睙o鎖化編程“。

  • 使用場景:

    • 基於CAS實現(xiàn)”原子類“。對int/long等類型進行封裝,從而可以原子地完成++等操作。標準庫裏也有。

      package thread;
      ?
      import java.util.concurrent.atomic.AtomicInteger;
      ?
      public class Demo34 {// private static int count = 0;private static AtomicInteger count = new AtomicInteger(0);
      ?public static void main(String[] args) throws InterruptedException {Thread t1 = new Thread(() -> {for (int i = 0; i < 50000; i++) {count.getAndIncrement(); ?// count++
      // ? ? ? ? ? ? ?  count.incrementAndGet();  // ++count
      // ? ? ? ? ? ? ?  count.getAndDecrement();  // count--
      // ? ? ? ? ? ? ?  count.decrementAndGet();  // --count
      // ? ? ? ? ? ? ?  count.getAndAdd(10); ? ? ?  // count+= 10}});Thread t2 = new Thread(() -> {for (int i = 0; i < 50000; i++) {// count++;count.getAndIncrement();}});t1.start();t2.start();t1.join();t2.join();
      ?// 通過 count.get() 拿到原子類內(nèi)部持有的真實數(shù)據(jù).System.out.println("count = " + count.get());}
      }

http://aloenet.com.cn/news/35866.html

相關(guān)文章:

  • 紹興網(wǎng)站建設(shè)淘寶指數(shù)查詢官網(wǎng)
  • 云南熱搜科技做網(wǎng)站不給源碼衡陽百度推廣
  • 做測試題的網(wǎng)站關(guān)鍵詞優(yōu)化的最佳方法
  • 冬創(chuàng)網(wǎng)站建設(shè)培訓中心網(wǎng)絡(luò)營銷策劃內(nèi)容
  • 網(wǎng)站改版 更換服務(wù)器 排名丟失網(wǎng)站推廣建站
  • 品牌網(wǎng)站建設(shè)搭建優(yōu)化排名推廣關(guān)鍵詞
  • app軟件開發(fā)平臺游戲seo快速排名軟件方案
  • 想招聘員工去哪個網(wǎng)站手機網(wǎng)站建設(shè)案例
  • 下載學校網(wǎng)站模板下載51網(wǎng)站統(tǒng)計
  • 簡單的網(wǎng)站設(shè)計圖aso關(guān)鍵詞優(yōu)化工具
  • 東莞長安網(wǎng)站建設(shè)鄭州網(wǎng)絡(luò)營銷
  • 榆林做網(wǎng)站多少錢seo顧問服
  • 注冊網(wǎng)站做推廣大澤山seo快速排名
  • 怎么看網(wǎng)站有沒有做301跳轉(zhuǎn)網(wǎng)上銷售渠道
  • 動漫設(shè)計制作專業(yè)學什么seo關(guān)鍵詞排名優(yōu)化評價
  • 建設(shè)一個怎樣的自己的網(wǎng)站濟南競價托管公司
  • wordpress建立網(wǎng)站寧波網(wǎng)站seo診斷工具
  • 小程序定制開發(fā)網(wǎng)站百度網(wǎng)址是什么
  • 網(wǎng)站壓縮山西網(wǎng)絡(luò)營銷seo
  • 做提升自己的網(wǎng)站汕頭自動seo
  • 織夢網(wǎng)站模板怎么做搜索引擎seo外包
  • 網(wǎng)站會員模板網(wǎng)站關(guān)鍵詞推廣價格
  • vultr 做網(wǎng)站搜索引擎優(yōu)化的完整過程
  • vs2012手機網(wǎng)站開發(fā)教程常用的五種網(wǎng)絡(luò)營銷工具
  • 工藝禮品東莞網(wǎng)站建設(shè)seoul national university
  • asp網(wǎng)站制作實例教程目前網(wǎng)絡(luò)推廣平臺
  • 天寧寺網(wǎng)站建設(shè)seo學校培訓
  • 站長工具綜合查詢ip怎樣在百度上發(fā)布作品
  • 怎么做提取微信62的網(wǎng)站網(wǎng)頁制作流程
  • 網(wǎng)站的內(nèi)連接如何做沈陽優(yōu)化網(wǎng)站公司