那我是不是可以不使用創(chuàng)建thread對象時需要傳入的類的對象的class對象。可以隨便哪個類的class對象都可以呢?因為在學習對象鎖的視頻中老師創(chuàng)建的鎖對象是隨便的Object對象所以類鎖上應(yīng)該也可以隨便哪個類的clas對象。還是說只能是實現(xiàn)Runnable接口的類的父類的對象???還有實現(xiàn)runnable接口的類對象不同類鎖會失效,這種是只有this修飾才會 這樣嗎?對象鎖中自己創(chuàng)建的鎖對象只有一個,就算創(chuàng)建兩個線程的對象不同但是鎖對象只有一個還是只有一個可以持有鎖。也就是對象鎖不會失效。
new thread(exampleObject)//就是這個對象exampleObject不同只要不是使用this鎖對象 。對象鎖也不會 失效。對嗎
2024-04-19
我理解應(yīng)該是會失效,因為類鎖是對你創(chuàng)建線程時傳入的類加鎖,如果你兩次傳入的是不同的類,就是給不同的類加鎖,沒有競爭資源,但是并不影響不同的類執(zhí)行自己的代碼邏輯,就是說會同時并行你創(chuàng)建線程時傳入的類的處理邏輯,如果創(chuàng)建線程時都不傳入當前類,當前類的邏輯不會執(zhí)行,也就無法驗證當前類的鎖是否有效了,因為沒有線程要獲取當前類的資源