欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java中synchronized關(guān)鍵字和Lock接口的實(shí)現(xiàn)原理是什么-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)Java中synchronized關(guān)鍵字和Lock接口的實(shí)現(xiàn)原理是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司是專業(yè)的烏拉特前網(wǎng)站建設(shè)公司,烏拉特前接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行烏拉特前網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

synchronized關(guān)鍵字

synchronized也叫同步鎖,是Java里面的關(guān)鍵字。我們可以猜測(cè)到synchronized原理也JVM虛擬機(jī)有關(guān)聯(lián)。

synchronized鎖的是對(duì)象。對(duì)象里面有一個(gè)叫做監(jiān)視鎖(monitor)的東西,監(jiān)視鎖依賴操作系統(tǒng)的互斥鎖(Mutex Lock)。操作系統(tǒng)切換線程其實(shí)就是從用戶態(tài)編程核心態(tài)(cpu的兩種狀態(tài))。這個(gè)代價(jià)有點(diǎn)高,所以synchronized這個(gè)重量級(jí)鎖后面也引進(jìn)了偏向鎖和輕量級(jí)鎖。

加鎖(監(jiān)視鎖monitor)過程分析():

當(dāng)monitor的進(jìn)入數(shù)為0,線程A進(jìn)入  monitor的進(jìn)入數(shù)為1  線程B想進(jìn)入該monitor就會(huì)被阻塞。

線程A可以重復(fù)進(jìn)入該monitor,所以synchronized是可重入鎖,和Lock實(shí)現(xiàn)的鎖一樣。

程序驗(yàn)證

public class SynchronizedTest {  private static int i = 0;  public static void main(String[] args) {    test();  }  public static void test(){    synchronized (SynchronizedTest.class){      synchronized (SynchronizedTest.class){        i++;      }    }  }}

運(yùn)行結(jié)果

程序正常運(yùn)行,沒有報(bào)錯(cuò)

synchronized可以修飾方法以及代碼塊,代碼塊就是上面重入鎖的例子。

修飾方法

public class SynchronizedTest {  static int n = 100;  final static CountDownLatch start = new CountDownLatch(n);  private static int i = 0;  public static void main(String[] args) throws InterruptedException {    for (int j = 0; j < n; j++) {      Thread thread = new Thread(new addNoSynchronized());      thread.start();    }    start.await();    System.out.println(i);  }  public static class addSynchronized implements Runnable{    @Override    public void run() {      addSynchronized();    }    public static synchronized void addSynchronized(){      for (int j = 0; j < 1000; j++) {        i++;      }      start.countDown();    }  }}

運(yùn)行結(jié)果

100000

如果去掉 synchronized 關(guān)鍵字的話,運(yùn)行結(jié)果大概率不是 100000,因?yàn)榫€程不安全問題。

Lock接口

一般我們使用 ReentrantLock 類作為重入鎖,實(shí)現(xiàn)Lock接口。

使用方法

public class ReentranLockTest {  private static int j;  private static int n = 100;  private static CountDownLatch latch = new CountDownLatch(n);  public static void main(String[] args) throws InterruptedException {    for (int i = 0; i < n; i++) {      new Thread(new LockTest()).start();    }    latch.await();    System.out.println("結(jié)果為:"+j);  }  public static class LockTest implements Runnable{    static Lock lock = new ReentrantLock();    @Override    public void run() {      lockTest();      latch.countDown();    }    private void lockTest() {      lock.lock();      try {        for (int i = 0; i < 1000; i++) {            j++;        }      }finally {        lock.unlock();      }    }  }}

運(yùn)行結(jié)果

結(jié)果為:100000

這里我們鎖住的 j++ 這塊資源區(qū)(公共資源),lock 是 static 關(guān)鍵字修飾的,是類對(duì)象,思考一下如果不是類對(duì)象會(huì)怎么樣?那就是連環(huán)鎖了(看圖)。

每一個(gè)線程都對(duì)可以用鑰匙解開這把鎖,對(duì)于程序而言,加鎖操作就沒有意義了。因?yàn)槲覀冃枰氖且粋€(gè)鎖。

以上就是Java中synchronized關(guān)鍵字和Lock接口的實(shí)現(xiàn)原理是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:Java中synchronized關(guān)鍵字和Lock接口的實(shí)現(xiàn)原理是什么-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article10/ccocgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、商城網(wǎng)站、軟件開發(fā)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
亚洲国产精品97视频| 五月色婷婷六月色丁香| 久久精品熟女亚洲av色| 国产日韩欧美另类专区| 禁止18岁以下观看的视频| 日韩欧美黄色三级视频| 91九色在线免费观看| 亚洲午夜精品美女写真| 久久精品国产亚洲av麻豆花絮| 黑丝美女被内射视频免费观看| 亚洲熟妇av乱码在线| 久久精品亚洲欧美激情| 中文字幕亚洲精品99| 亚洲精品国产av一区| 亚洲一区成人免费电影| 亚洲精品一区二区三区pp| 欧美亚洲五月婷婷激情| 亚洲欧美国产另类综合| 国产91一区二区三区在线精品| 久草福利视频免费播放| 婷婷网色偷偷亚洲男人| 国产伦奸在线播放免费| 长腿丝袜美女亚洲一区二区| 国产精品一久久香蕉产线看 | 亚洲熟妇人妻一区二区三区| 蜜臀视频网站在线观看| 极品人妻少妇精品一区二区| 久久精品熟女亚洲av色| 亚洲免费一级黄色录像片| 中文字幕日本人妻影视| 亚洲av久久一区二区| 视频一区二区视频三区| 亚洲精品成人免费电影| 青青草手机在线视频免费观看 | 快播av手机在线播放| 色婷婷国产精品久久包臀| 日韩精品中文字幕影视| 日本中文字幕免费专区| av人妻熟女少妇蒂亚| 日韩精品国产亚洲欧美| av成人黄色片在线播放|