/** * reentrantlock是獨佔鎖
* lock鎖的使用,把鎖和要用鎖同步的**放在一起,這裡就是放在printer類中了
* 獲取到鎖後,最後要在finally**塊中手動釋放鎖 */
public
class
locktest
catch
(interruptedexception e)
printer.print(
"zhangsan33953");}};
}.start();
newthread()
catch
(interruptedexception e)
printer.print(
"lisi27965");}};
}.start();
}class
printer
system.
out.println();
} finally}}
}
ReentrantLock介紹和簡單使用
reentrantlock和synchronized比較 1 reentrantlock和synchronized都是獨佔鎖,前者需要主動的加鎖和釋放鎖,後者加鎖解鎖的過程會自動進行。2 reentrantlock和synchronized都是可重入的,前者加鎖和釋放鎖的次數必須一致,否則會一直進入...
使用ReentrantLock兩個方法的互斥訪問
現在有多個執行緒需要對兩個方法都進行訪問 乙個方法名為test1,乙個方法名為test2 但是有個要求 同乙個時間只能兩個方法互斥訪問,而且兩個方法可能在不同的類裡面。就是多個執行緒只要有乙個執行緒訪問test1方法,那麼其他執行緒test1和test2方法都不能訪問,相反一樣。可能有人會想到syn...
ReentrantLock實現同步
reentrantlock 也可以實現synchronized方法 塊的同步效果。reentrantlock 實現同步 如下 1 新建乙個service類 public class myservice public static void methodb 2 新建乙個測試類 public class...