Lock、Synchronized锁区别解析( 八 )
<= 1) {22System.out.println(thread.getName()+"正在进行写操作");23}24System.out.println(thread.getName()+"写操作完毕");25} finally {26rwl.writeLock().unlock();27}28}29public void getRead(Thread thread) {30rwl.readLock().lock();31try {32long start = System.currentTimeMillis();33while(System.currentTimeMillis() - start <= 1) {34System.out.println(thread.getName()+"正在进行读操作");35}36System.out.println(thread.getName()+"读操作完毕");37} finally {38rwl.readLock().unlock();39}40}41 }结果:
文章插图
总结Lock锁 与 synchronized锁 区别
- Lock接口实现的类锁是核心类库中的代码, 是 Java编写的;synchronized 是关键字 , 属于 JVM , 也就是Java原生的 , 使用其他语言实现 。
- Lock实现类锁有更多方法 , 比如可以选择是公平锁还是非公平锁;一段时间获取不到资源可以退出等待队列;以及共享锁排它锁;而后者功能就比较单一了 。
- synchronized 可以修饰静态方法、实例方法、代码块;Lock 实现的锁只能修饰代码块
- synchronized不需要释放锁 , Lock锁需要手动释放 。
- 都可以修饰代码块
- 都是可重入锁
- 效率差不多( jdk1.6优化以后)
- 华为畅享20se和红米note9哪个好区别在哪 参数对比评测
- 荣耀v40pro对比vivox60pro哪个好区别在哪 性能谁更强
- realmev15和realmev3区别参数对比 哪个好性价比高
- 红米k40pro和荣耀30区别哪个好 不同点对比参数配置谁好
- iqoo7和红米k30至尊纪念版哪个好区别在哪 参数对比评测
- 小米11和红米k30pro哪个好性价比高 参数配置对比区别
- 华为nova8与小米10对比哪个好 参数配置区别性能评测
- 「小狮子诊所」游戏耳机和音乐耳机究竟有什么区别?
- 荣耀v40和华为p40对比哪个好 参数配置区别性能谁更强
- 小米11和华为p40pro哪个好区别在哪 参数优缺点对比评测