第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java高并發(fā)之魂:synchronized深度解析

難度入門
時(shí)長(zhǎng) 2小時(shí)50分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.53
114人評(píng)價(jià) 查看評(píng)價(jià)
9.7 內(nèi)容實(shí)用
9.3 簡(jiǎn)潔易懂
9.6 邏輯清晰
  • http://img1.sycdn.imooc.com//62666d1f000149ca13180664.jpg

    1.效率問(wèn)題 2.看業(yè)務(wù),優(yōu)先考慮synchronized(簡(jiǎn)單) 3.主要判斷被鎖的對(duì)象

    查看全部
    0 采集 收起 來(lái)源:常見面試問(wèn)題

    2022-04-25

  • http://img1.sycdn.imooc.com//6266696d00010bfd13170688.jpg

    直到等于0時(shí),那個(gè)鎖才算是徹底釋放了

    查看全部
    0 采集 收起 來(lái)源:可重入原理

    2022-04-25

  • http://img1.sycdn.imooc.com//6266689f0001580c13310689.jpg

    Synchronized編譯后,會(huì)生成monitorenter-加鎖,monitorexit釋放鎖

    查看全部
    0 采集 收起 來(lái)源:看monitor指令

    2022-04-25

  • https://img1.sycdn.imooc.com//626664e100014ccb10140468.jpg

    https://img1.sycdn.imooc.com//626664ef00013f7808900458.jpg

    答案:1.先后 2.同時(shí) 3.先后 4.同時(shí) 5.先后 6.同時(shí) 7.會(huì)

    查看全部
    0 采集 收起 來(lái)源:七種常見情況之6和7

    2022-04-25

  • 本課程的知識(shí)點(diǎn)回顧

    查看全部
    0 采集 收起 來(lái)源:課程的總結(jié)_

    2022-02-20

  • 1、讀寫鎖:讀的時(shí)候可以多線程執(zhí)行

    2、將synchronized替換為lock

    查看全部
    0 采集 收起 來(lái)源:思考題

    2022-02-20

  • synchronized的缺陷:效率低、不夠靈活、不知道是否成功獲取了鎖

    查看全部
    0 采集 收起 來(lái)源:Synchronized缺陷

    2022-02-20

  • 第一次進(jìn)入函數(shù)前拿到鎖1,遞歸進(jìn)入函數(shù)時(shí),synchronized的可重入性,決定了鎖1依舊可以進(jìn)入

    查看全部
  • 4、同步方法會(huì)有鎖,只有一個(gè)線程進(jìn)入,但是非同步方法隨意進(jìn)入,所以會(huì)出現(xiàn)并發(fā)情況

    5、由于兩個(gè)同步方法拿到的是同一個(gè)鎖instance,所以要按照順序執(zhí)行

    6、靜態(tài)方法拿到的是類鎖xxx.Class,非靜態(tài)方法拿到的是對(duì)象鎖instance,所以會(huì)出現(xiàn)并發(fā)的情況

    7、一定是先拋出異常,再釋放鎖

    查看全部
    0 采集 收起 來(lái)源:七種常見情況之6和7

    2022-02-20

  • 1、兩個(gè)thread,一個(gè)instance==按照順序執(zhí)行,加鎖成功

    2、兩個(gè)thread,兩個(gè)instance==各自持有鎖,并發(fā)執(zhí)行

    3、兩個(gè)thread,一個(gè)synchronized修飾的靜態(tài)方法==此時(shí)是一個(gè)類鎖,即一把鎖,按照順序執(zhí)行

    查看全部
  • 對(duì)象鎖(方發(fā)鎖、同步代碼塊鎖)、類鎖(靜態(tài)方法鎖、指定鎖為Class對(duì)象)

    查看全部
  • synchronized的作用:

    能夠保證在“同一時(shí)刻”最多只有一個(gè)線程執(zhí)行該段代碼,達(dá)到保證并發(fā)安全的效果

    查看全部
    0 采集 收起 來(lái)源:synchronized的作用

    2022-02-18

  • synchronized的兩個(gè)用法

    61ff2bb20001d5f207200404.jpg
    查看全部
  • Synchronized的作用:

    官方:同步方法支持一種簡(jiǎn)單的策略來(lái)防止線程干擾和內(nèi)存一致性錯(cuò)誤:如果一個(gè)對(duì)象對(duì)多個(gè)線程可見,則對(duì)該對(duì)象變量的所有讀取或?qū)懭攵际峭ㄟ^(guò)同步方法完成的。


    一句話說(shuō)出作用:能夠保證在同一時(shí)刻最多只有一個(gè)線程執(zhí)行該段代碼,以達(dá)到保證并發(fā)安全的效果。


    Synchronized的兩個(gè)用法:

    • 對(duì)象鎖:

      包括方法鎖(默認(rèn)鎖對(duì)象為this當(dāng)前實(shí)例對(duì)象)和同步代碼塊鎖(自己指定鎖對(duì)象)

    • 類鎖:

      指synchronized修飾靜態(tài)的方法或指定鎖為Class對(duì)象


    性質(zhì)

    • 可重入

      • 什么是可重入:指的是同一線程的外層函數(shù)獲得鎖之后,內(nèi)層函數(shù)可以直接再次獲取該鎖

      • 好處:避免死鎖、提升封裝性

    • 不可中斷

      • 一旦這個(gè)鎖已經(jīng)被別人獲得了,如果我還想獲得,我只能選擇等待或者阻塞,直到別的線程釋放這個(gè)鎖。如果別人永遠(yuǎn)不釋放鎖,那么我只能永遠(yuǎn)地等下去。


    原理

    • 加鎖和釋放鎖地原理:

      • 獲取和釋放鎖地時(shí)機(jī):進(jìn)入和推出同步代碼塊(包括拋出異常)

      • 通過(guò)monitorenter和monitorexit指令

    • 可重入原理:加鎖次數(shù)計(jì)數(shù)器

      • JVM會(huì)記錄被加鎖的次數(shù)

    • 保證可見性地原理:內(nèi)存模型

      • synchronized可以保證可見性


    Synchronized缺陷

    • 效率低:鎖的釋放情況少、視圖獲得鎖時(shí)不能設(shè)定超時(shí)、不能中斷一個(gè)正在試圖獲得鎖的線程

    • 不夠靈活(讀寫鎖更靈活):加鎖和釋放的時(shí)機(jī)單一,每個(gè)鎖僅有單一的條件(某個(gè)對(duì)象),可能是不夠的

    • 無(wú)法知道是否成功獲取到鎖


    常見面試問(wèn)題

    • 使用注意點(diǎn):鎖的范圍不宜過(guò)大、避免鎖的嵌套

    • 如何選擇Lock和synchronized關(guān)鍵字?

      • synchronized能滿足需求優(yōu)先使用synchronized

      • lock更靈活,但是容易編寫代碼出錯(cuò)

    • 多線程訪問(wèn)同步方法的各種具體情況

      確定鎖對(duì)象


    思考題

    • Synchronized使得同時(shí)只有一個(gè)線程可以執(zhí)行,性能較差,有什么辦法可以提升性能?

      如果是讀多寫少的情況下,可以使用讀寫鎖代替

    • 我想更靈活地控制鎖地獲取和釋放(現(xiàn)在釋放鎖的時(shí)機(jī)都被規(guī)定死了),怎么辦?、

      可以考慮使用Lock

    ?? ?

    總結(jié):

    一句話介紹Synchronized:

    JVM會(huì)自動(dòng)通過(guò)使用monitor來(lái)加鎖和解鎖,保證了同時(shí)只有一個(gè)線程可以執(zhí)行指定代碼,從而保證了線程安全,同時(shí)具有可重入和不可中斷的性質(zhì)。

    查看全部
    3 采集 收起 來(lái)源:課程的總結(jié)_

    2022-01-06

  • 重點(diǎn)看是否需要釋放鎖后再次獲取

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
1、基本的Java語(yǔ)法知識(shí)。 2、最基本的線程知識(shí),比如在Java中如何創(chuàng)建線程。
老師告訴你能學(xué)到什么?
1、完全學(xué)會(huì)高并發(fā)中synchronized這個(gè)最靈魂級(jí)解決方案以及一線互聯(lián)網(wǎng)資深工程師的開發(fā)、調(diào)試經(jīng)驗(yàn),提高填‘坑’能力。 2、synchronized底層原理源碼深度解析、適用場(chǎng)景、使用和調(diào)試。 3、高并發(fā)面試中synchronized的高頻經(jīng)典考察點(diǎn),讓你在面試中和面試官聊到停不下來(lái)。

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!