java并发锁-Lock接口
来源:互联网 发布:网络名人周小平 编辑:程序博客网 时间:2024/04/29 09:10
并发锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。在Lock接口出现之前,java主要依靠synchronized的关键字来实现多线程的同步功能。而从JDK1.5之后,并发包中新增了Lock接口来实现并发锁的功能,它提供了与synchronized关键字类似的同步功能,但是需要在使用时需要显示的获取锁和释放锁。与synchronized相比缺少了隐式的获取和释放锁的便捷性,但是却拥有了锁获取和释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronized关键字锁不具备的同步特效。
Lock的API如下
void lock();//获取锁,调用该方法当前线程会获取锁,当锁或得后,从该方法返回
void lockInterruptibly() throws TnterruptedException;//可中断的获取锁,和lock()方法的不同之处在于该方法会响应中断,即在锁的获取中可以众多当前线程
boolean tryLock();//尝试非阻塞的获取锁,调用该方法后会立刻返回,如果能够获取锁则返回true,否则返回false
boolean tryLock(long time,TimeUnit unit) throws InterruptedException;//超时的获取锁,如果在超时时间内获得锁返回true,超时时间结束返回false
void unlock();//释放锁
Condition newCondition();//获取等待通知组件,该组件和当前的锁绑定,当前线程只有获得了锁,才能调用该组件的wait()方法,而调用后,当前线程将释放锁。
- java并发锁-Lock接口
- Java并发Lock接口
- java并发 lock锁
- java并发编程之Lock接口
- java并发高级知识点-Lock接口说明
- 共同学习Java源代码-并发与锁-Lock接口、Condition接口
- JAVA并发编程-LOCK锁
- java并发编程---lock锁
- java并发锁之Lock
- java 并发工具包 -锁 Lock
- java并发编程(三)--java中的锁(Lock接口和队列同步器AQS)
- java并发库--锁 lock使用
- java并发锁-Lock之队列同步器
- java并发编程之lock锁
- Java并发(六)Lock锁
- 【Java并发编程】Lock锁对象
- Java并发编程:Lock
- Java并发编程:Lock
- java.lang.ClassCastException: java.lang.Object cannot be cast to com.tgb.entity.Users
- PIXHAWK源码分析之二—Hello Sky(PIXHAWK读取姿态数据并且显示)
- leetcode78. Subsets
- QDUOJ - kkun的膜神帮
- 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
- java并发锁-Lock接口
- Redis队列——PHP操作简单示例
- ArcGIS Server发布的地图服务不显示地图的原因分析
- 这里有一份面筋请查收(五)
- 319. Bulb Switcher
- 修改JBoss6与JBoss7的默认端口号
- PHP模板引擎(smarty)
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap
- 深入浅出Mybatis系列(九)---强大的动态SQL