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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

synchronized修飾代碼塊括號后面鎖失效?

synchronized修飾代碼塊括號后面鎖失效?

德瑪西亞99 2019-03-20 18:15:36
package basic;public class TestSynchronizedObject {    public static void main(String[] args) {        final MyObject myObject_first = new MyObject();        final MyObject myObject_seconde = new MyObject();        new Thread("線程A") {            @Override            public void run() {                myObject_first.print("線程A");            }        }.start();        new Thread("線程B") {            @Override            public void run() {                myObject_seconde.print("線程B");            }        }.start();    }}class MyObject {        public void print(String str) {        System.out.println("線程" + Thread.currentThread().getName() + "開始執(zhí)行");        輸出結(jié)果:線程線程A開始執(zhí)行線程A .0. 線程線程B開始執(zhí)行線程A .1. 線程A .2. 線程A .3. 線程A .4. 線程A .5. 線程A .6. 線程A .7. 線程A .8. 線程A .9. 線程線程A執(zhí)行結(jié)束線程B .0. 線程B .1. 線程B .2. 線程B .3. 線程B .4. 線程B .5. 線程B .6. 線程B .7. 線程B .8. 線程B .9. 線程線程B執(zhí)行結(jié)束很顯然,兩個對象互斥執(zhí)行了??梢曃益i住的是String的所有實例化對象,而我開的線程用的是MyObject對象,我既然沒有鎖住MyObject對象,它為什么互斥執(zhí)行呢?package basic;public class TestSynchronizedObject {    public static void main(String[] args) {        final MyObject myObject_first = new MyObject();        final MyObject myObject_seconde = new MyObject();        new Thread("線程A") {            @Override            public void run() {                myObject_first.print("線程A");            }        }.start();        new Thread("線程B") {            @Override            public void run() {                myObject_seconde.print("線程B");            }        }.start();    }}class MyObject {    public void print(String str) {        System.out.println("線程" + Thread.currentThread().getName() + "開始執(zhí)行");如果這樣,它的輸出結(jié)果為:線程線程A開始執(zhí)行線程A .0. 線程線程B開始執(zhí)行線程A .1. 線程A .2. 線程A .3. 線程A .4. 線程A .5. 線程A .6. 線程A .7. 線程A .8. 線程A .9. 線程B .0. 線程線程A執(zhí)行結(jié)束線程B .1. 線程B .2. 線程B .3. 線程B .4. 線程B .5. 線程B .6. 線程B .7. 線程B .8. 線程B .9. 線程線程B執(zhí)行結(jié)束關(guān)于synchronized修飾代碼塊時,括號后面要跟什么,有沒有這方面的博客詳細解答一下哈,謝謝~~
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

查看完整回答
反對 回復(fù) 2019-04-22
?
鳳凰求蠱

TA貢獻1825條經(jīng)驗 獲得超4個贊

這篇博客 有解答。不過關(guān)于全局鎖的提法容易令人誤解。因為 sychoronized 是使用括號里的對象來上鎖,而 String.class 不是String 類的全部實例,而是一個對象,是一個類型為 Class 的對象,因此,如果你使用不同的這樣的 class 對象來同步,則獲得的是不同的鎖。


查看完整回答
反對 回復(fù) 2019-04-22
  • 2 回答
  • 0 關(guān)注
  • 620 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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