java java的可重入鎖用在哪些場合?
java的可重入鎖用在哪些場合?你好,我是[不要隨波逐流]。我很高興為你回答。遠(yuǎn)程標(biāo)準(zhǔn)教育為您解答:重入鎖是指同一個(gè)鎖可以在一個(gè)線程中多次獲得。例如,如果一個(gè)線程正在執(zhí)行一個(gè)帶有鎖的方法,而該方法調(diào)用
java的可重入鎖用在哪些場合?
你好,我是[不要隨波逐流]。我很高興為你回答。遠(yuǎn)程標(biāo)準(zhǔn)教育為您解答:重入鎖是指同一個(gè)鎖可以在一個(gè)線程中多次獲得。例如,如果一個(gè)線程正在執(zhí)行一個(gè)帶有鎖的方法,而該方法調(diào)用另一個(gè)需要相同鎖的方法,那么該線程可以直接執(zhí)行調(diào)用方法而不必重新獲取鎖。更多專業(yè)科普知識,請關(guān)注我。如果你喜歡我的回答,也請給我表揚(yáng)或轉(zhuǎn)發(fā),你的鼓勵(lì)是支持我寫下來的動(dòng)力,謝謝。
如何理解Java鎖的可重入性?
可重入鎖:支持重復(fù)輸入的鎖。這意味著鎖可以支持線程對資源的重復(fù)鎖定。
關(guān)鍵字“sychronized”隱式支持重入,例如使用sychronized修改的遞歸方法。在方法執(zhí)行期間,執(zhí)行線程在獲取鎖之后可以多次獲取鎖。
盡管reentrantlock不能像sychnronized關(guān)鍵字那樣隱式地重新輸入,但是在調(diào)用lock()方法時(shí),獲得鎖的線程可以再次調(diào)用lock()方法來獲得鎖,而不會被阻止。