昆明java培训
达内昆明广州春城路

18487146383

热门课程

java的显示锁

  • 时间:2016-11-17
  • 发布:昆明Java培训
  • 来源:达内新闻

显示锁

昆明Java培训机构的老师知道基于synchronized关键字的锁机制有以下问题:

锁只有一种类型,而且对所有同步操作都是一样的作用

锁只能在代码块或方法开始的地方获得,在结束的地方释放

线程要么得到锁,要么阻塞,没有其他的可能性

Java 5对锁机制进行了重构,提供了显示的锁,这样可以在以下几个方面提升锁机制:

可以添加不同类型的锁,例如读取锁和写入锁

可以在一个方法中加锁,在另一个方法中解锁

可以使用tryLock方式尝试获得锁,如果得不到锁可以等待、回退或者干点别的事情,当然也可以在超时之后放弃操作

显示的锁都实现了java.util.concurrent.Lock接口,主要有两个实现类:

ReentrantLock–比synchronized稍微灵活一些的重入锁

ReentrantReadWriteLock–在读操作很多写操作很少时性能更好的一种重入锁

对于如何使用显示锁,可以参考我的Java面试系列文章《Java面试题集51-70》中第60题的代码。只有一点需要提醒,解锁的方法unlock的调用最好能够在finally块中,因为这里是释放外部资源最好的地方,当然也是释放锁的最佳位置,因为不管正常异常可能都要释放掉锁来给其他线程以运行的机会。

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:java编程的原子类
下一篇:java就业前景还没到饱和状态

腾讯游戏Switch独立销量领先——昆明达内

达内java语言编程学以致用

苹果技术:A11芯片上新菜【达内培训】

达内培训之国产手机vivo领跑,小米再上榜

选择城市和中心
贵州省

广西省

海南省