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

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://www.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è)
日本岛国免费一区二区| 国产一区av剧情巨作| 麻豆国产精品原创av男女| 一区二区三区蜜桃91| 亚洲欧美高清一区二区| 国产精品女同久久久久久| 亚洲精品永久在线观看| 国内精品人妻在线中文字幕| 国产午夜福利一区在线| 欧美一级免费黄片在线播放| 亚洲欧美日韩一区中文字幕| 亚洲免费小视频在线观看| 天堂在线av免费观看| 日韩av一区二区久久久| 久久久久久成人综合色| 亚洲无线码一区国产欧美国日| 国产高跟丝袜av专区| 水蜜桃成人在线视频免费观看 | 丝袜美腿亚洲综合一区| 可以看黄片的在线观看| 欧美日韩精品亚洲成人精品| 凹凸国产精品熟女视频| 日韩少妇一级淫片免费| 扒开女性毛茸茸的视频| 熟女另类视频在线观看| 在线观看男人的天堂av| 国内精品自产拍久久久久久久久91| 免费精品黑人一区二区三区| 国产原创中文剧情性感av| 一区二区在线日韩视频| 欧美亚洲精品在线观看| 人妻少妇精品视频二区| 亚洲国产成在人网站天堂| 日本高清一区二区不卡视频| 91成年精品一区在线观看| av在线中文字幕剧情| 免费观看久久黄色大片| 在线看片国产精品自拍| 国产精品久久久久久久亚洲| 亚洲精品成人午夜av| 青草成人在线视频观看|