中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

能自己做效果圖的網站百度推廣有效果嗎

能自己做效果圖的網站,百度推廣有效果嗎,wordpress js代碼編輯器插件下載,crm客戶管理系統(tǒng)方案MultiLock MultiLock,英語直譯為多個鎖。 redisson分布式鎖中的MultiLock這個機制,可以將多個鎖合并為一個大鎖,對一個大鎖進行統(tǒng)一的申請加鎖以及釋放鎖 一次性鎖定多個資源,再去處理一些事情,然后事后一次性釋放所…

MultiLock

MultiLock,英語直譯為多個鎖。

redisson分布式鎖中的MultiLock這個機制,可以將多個鎖合并為一個大鎖,對一個大鎖進行統(tǒng)一的申請加鎖以及釋放鎖

一次性鎖定多個資源,再去處理一些事情,然后事后一次性釋放所有的資源對應的鎖

RLock lock1 = redisson.getLock("anyLock1");RLock lock2 = redisson.getLock("anyLock2");RLock lock3 = redisson.getLock("anyLock3");RedissonMultiLock multiLock = new RedissonMultiLock(lock1, lock2, lock3);multiLock.lock();multiLock.unlock();

在項目里使用的時候,很多時候一次性要鎖定多個資源,比如說鎖掉一個庫存,鎖掉一個訂單,鎖掉一個積分,一次性鎖掉多個資源,多個資源都不讓別人隨意修改,然后你再一次性更新多個資源,釋放多個鎖

MultiLock的源碼,我們初步看一下,其實也不過是沒什么特別的,就是包裹了多個RedissonLock,底層就是嘗試依次對每一個鎖都要成功加鎖,如果所有的鎖都成功加鎖了之后,那么就認為MultiLock就成功加鎖了

釋放鎖

依次去釋放每一把鎖就可以
釋放鎖的代碼一目了然,就是循環(huán)釋放每一把鎖。
在這里插入圖片描述

加鎖

再看一下的源碼
在這里插入圖片描述

這里的locks就是RedissonMultiLock中我們傳的幾個鎖,鎖的個數*3,基礎等待時間baseWaitTime是4500毫秒。
if和else判斷中都是算等待時間的邏輯。
而最下面的while死循環(huán),就是要加鎖的邏輯,就是不停地加鎖,失敗了繼續(xù)加鎖。只要沒有全部獲取到就一直循環(huán)。
在這里插入圖片描述

RedissonMultiLock.tryLock()方法中
截止到226行,這幾個時間分別是
watTime = 4500毫秒
time = 當前時間
remainTime = 4500毫秒
lockWaitTime = 4500毫秒
failedLocksLimit = 0
awaitTime = 4500毫秒

繼續(xù)走,到for循環(huán)里面,取出來locks中的一個鎖開始處理
調用了lock.tryLock()方法
這是獲取鎖的關鍵代碼
lockAcquired = lock.tryLock(awaitTime, newLeaseTime, TimeUnit.MILLISECONDS);

lock是底層的RedissonLock,他沒有使用lock.lock(),用的是tryLock(),指定了獲取鎖等待超時的時間,4500毫秒,必須獲取到這個鎖,如果獲取不到這個鎖,就退出,標記為獲取鎖失敗

哪怕是獲取到鎖之后,這個鎖在多長時間內會自動釋放,newLeaseTime是-1,因為你的newLeaseTime是-1,所以說如果獲取到了鎖,會啟動一個lock watchdog不斷的刷新你的鎖key的生存時間為30000毫秒
在這里插入圖片描述

繼續(xù)往下,現在情況是拿到鎖之后,不會再走藍色選中的代碼了。

最后走到if (remainTime != -1)代碼中去,這里的邏輯是怎么回事呢

remainTime = 4500毫秒
經過了一個lock的獲取,可能消耗掉了比如說20毫秒,100毫秒,500毫秒,耗費了500毫秒
remainTime = 4500毫秒 - 500毫秒 = 4000毫秒
time = 當前時間

如果remainTime <= 0,意味著什么呢?獲取鎖的時間已經超過了4500毫秒了,迄今為止,你獲取到這些所的時間,已經超過了預設的4500毫秒了,相當于是你獲取多個鎖的時間,最多不能超過4500毫秒

如果一旦獲取各個鎖的時間超過了4500毫秒,此時就會釋放掉所有已經獲取的鎖,然后返回一個false,再次進入while true中的一個死循環(huán),嘗試走上述一模一樣的流程

獲取了三把鎖,耗時了1000毫秒,此時remainTime還剩下3500毫秒,4477,4500,23毫秒獲取了三把鎖
在這里插入圖片描述
釋放鎖的話,就是依次調用所有的鎖的釋放的邏輯,lua腳本,同步等待所有的鎖釋放完畢,才會返回

而加鎖的話,默認的行為之下,你包裹了幾把鎖,就會鎖數量 * 1500毫秒,獲取所有的鎖必須在多長時間之內就要結束,如果超時就會重新再次死循環(huán)嘗試獲取鎖。使用的是各個鎖的tryLock()方法,指定了說在獲取每個單獨的鎖的時候,會有一個獲取超時退出的時間

http://www.risenshineclean.com/news/5967.html

相關文章:

  • ps做的網站稿怎么做成網站一媒體app軟件下載老版本
  • asp access網站建設源代碼找一個免費域名的網站
  • wordpress啟用兩個主題一鍵優(yōu)化是什么意思
  • 做游戲網站要多少錢站長申論
  • 中國建設銀行官方網站登錄seo招聘信息
  • 南通高端網站建設機構寧波seo怎么做推廣渠道
  • 做網站學什么語言關鍵詞網站推廣
  • word超鏈接網站怎么做seo課程培訓中心
  • 上海全部解封通知最新seo優(yōu)化關鍵詞是什么意思
  • 百度網站描述上海網站推廣系統(tǒng)
  • 現在全國疫情最新情況360手機優(yōu)化大師下載
  • 廣西網站建設費用寧波seo如何做推廣平臺
  • 哪些做批發(fā)的網站比較正規(guī)企業(yè)文化標語
  • 網站設計的汕頭公司網頁設計制作教程
  • php網站開發(fā)作業(yè)企業(yè)網址怎么申請
  • 路由器怎么做網站優(yōu)就業(yè)seo怎么樣
  • 在線做ppt模板下載網站有哪些推廣平臺下載
  • 哈爾濱企業(yè)做網站今日新聞頭條10條
  • 58同城佛山網站建設360點睛實效平臺推廣
  • 河北省建設廳網站老版信息流廣告公司排名
  • 如何熟悉網站項目的邏輯公司推廣咨詢
  • 網站怎么更改域名常州seo第一人
  • 信用網站建設工作總結凡科建站后屬于自己的網站嗎
  • 有空間域名服務器怎么做網站搜索引擎營銷的模式有哪些
  • 動漫制作專業(yè)認識武漢百度seo網站優(yōu)化
  • 二手書哪個網站做的好seo查詢 站長之家
  • 江蘇建站管理系統(tǒng)開發(fā)重慶搜索排名提升
  • win7主機做網站搜狗首頁排名優(yōu)化
  • wordpress批量刪除文章上海aso優(yōu)化公司
  • 昆明網站制作方案企業(yè)網絡營銷推廣案例