方法acquireUninterruptibly()的作用是使等待進入acquire()方法的線程瞭郑,不允許被中斷至非,先來看一個中斷的實驗:
代碼中出現(xiàn)的ThreadA,ThreadB等類代碼之前章節(jié)有截圖抽减,這個不在描述窍蓝。
可以看到:
線程B成功被中斷遣耍,那么不能被中斷是什么效果呢亲桦?
上面的Server稍微改動:
再次運行可以看到:
該方法的重寫方法:acquireUninterruptibly(int permits)方法作用是在等待許可的情況下不允許被中斷,如果成功獲得鎖焰雕,則取得指定的permits許可個數(shù)衷笋。