課程
/后端開發(fā)
/Java
/Java高并發(fā)之魂:synchronized深度解析
同步方法中,調(diào)用了非同步方法,此時對于非同步方法來說,是否是線程安全的,這個非同步方法是否也等于擁有了鎖??
2021-11-23
源自:Java高并發(fā)之魂:synchronized深度解析 4-3
正在回答
盲猜不安全,可以試一下,應該是同步執(zhí)行,執(zhí)行非同步方法不需要獲取鎖直接執(zhí)行,執(zhí)行同步方法才需要獲取鎖
我認為是安全的,即使有再多的線程訪問非同步方法,由于同步方法的調(diào)用相當于只有一把鎖,誰拿到誰才可以執(zhí)行下一步程序,仍然是在按順序執(zhí)行,相當于課程里面講到的第四種情況,把非同步方法寫入同步方法內(nèi),大致和嵌套循環(huán)差不多,唯一需要注意的是非同步方法在進行多個線程之后,有沒有足夠的地址臨時存儲產(chǎn)生的結果。
以上純屬個人意見,歡迎大家斧正。
舉報
從0開始徹底學會高并發(fā)場景下不得不會的synchronized
2 回答想問下方法內(nèi)部定義鎖和方法塊不生效的原因是?
2 回答同一個方法中的被synchronized包裹的代碼塊與普通代碼塊
1 回答run方法里面的j++是不是也可能有并發(fā)的問題啊?
2 回答ShowUnSafe的對象實例化放在main方法里面為什么是線程正常的
1 回答那我是不是可以不使用創(chuàng)建thread對象時需要傳入的類的對象的class對象??梢噪S便哪個類的class對象都可以呢?因為在學習對象鎖的視頻中老師創(chuàng)建的鎖對象是隨便的Object對象所以類鎖上應該也可以隨便哪個類的clas對象。還是說只能是實現(xiàn)Runnable接口的類的父類的對象?。窟€有實現(xiàn)runnable接口的類對象不同類鎖會失效,這種是只有this修飾才會 這樣嗎?對象鎖中自己創(chuàng)建的鎖對象只有一個,就算創(chuàng)建兩個線程的對象不同但是鎖對象只有一個還是只有一個可以持有鎖。也就是對象鎖不會失效。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2024-04-19
盲猜不安全,可以試一下,應該是同步執(zhí)行,執(zhí)行非同步方法不需要獲取鎖直接執(zhí)行,執(zhí)行同步方法才需要獲取鎖
2022-02-13
我認為是安全的,即使有再多的線程訪問非同步方法,由于同步方法的調(diào)用相當于只有一把鎖,誰拿到誰才可以執(zhí)行下一步程序,仍然是在按順序執(zhí)行,相當于課程里面講到的第四種情況,把非同步方法寫入同步方法內(nèi),大致和嵌套循環(huán)差不多,唯一需要注意的是非同步方法在進行多個線程之后,有沒有足夠的地址臨時存儲產(chǎn)生的結果。
以上純屬個人意見,歡迎大家斧正。