Java多线程编程-(7)-使用ReentrantReadWriteLock实现Lock并发
ReentrantReadWriteLock锁的特性
(1)读读共享;
(2)写写互斥;
(3)读写互斥;
(4)写读互斥;
读读共享-示例代码
可以看出两个线程之间,获取锁的时间几乎同时,说明lock.readLock().lock(); 允许多个线程同时执行lock()方法后面的代码
可以看出执行结果大致差了5秒的时间,可以说明多个写线程是互斥的。
读写互斥或写读互斥-示例代码
可以看出执行结果大致差了5秒的时间,可以说明读写线程是互斥的。