JAVA同步之ReentrantLock可中断锁的使用
来源:互联网 发布:Python Max iteritem 编辑:程序博客网 时间:2024/05/21 12:44
http://www.iteedu.com/plang/java/superjava/threadsafe/lockInterruptibly.php
以前我们用
synchronized (mutex) {
。。。。。。。
}
进行同步时必须等待别的线程释放锁后才能进入同步块,现在问题时当太长时间等待时不想再等了,怎么办?
ReentrantLock为我们实现了中断等待的方法。
class SampleSupport1 extends SampleSupport { private final ReentrantLock lock = new ReentrantLock(); public void doSomething() throws InterruptedException { lock.lockInterruptibly(); System.out.println(Thread.currentThread().getName());// try {// lock.lockInterruptibly();// } catch (InterruptedException e) {// //做一些其它的事,不结束线程// } System.out.println(Thread.currentThread().getName() + " will execute counter++."); startTheCountdown(); try { counter++; } finally { lock.unlock(); } }}
外部对他的引用进行b.interrupt();
阅读全文
0 0
- JAVA同步之ReentrantLock可中断锁的使用
- ReentrantLock锁的可中断性
- Java:多线程,线程同步,同步锁(Lock)的使用(ReentrantLock、ReentrantReadWriteLock)
- 浅析java多线程之ReentrantLock的使用
- Java线程之锁对象高效同步(ReentrantLock/ReentrantReadWriteLock)
- 【Java基础之线程同步(三)】使用ReentrantLock Condition实现线程同步
- Java多线程同步(锁)的实现方法(synchronised 与reentrantlock)
- java 同步 Synchonized 锁 ReentrantLock 原理 源码
- java 线程同步中的对象锁 ReentrantLock
- 多线程之ReentrantLock的使用
- Java多线程之~~~Lock接口和ReentrantLock的使用
- Java并发编程 之 Condition与ReentrantLock的使用
- java并发锁ReentrantLock源码分析一 可重入支持中断锁的实现原理
- java可中断的线程
- ReentrantLock同步锁
- 同步锁ReentrantLock
- Java多线程之ReentrantLock使用-yellowcong
- 比较 ReentrantLock 和 synchronized 的使用和可伸缩性
- java(十五):concurrent(0)—AtomicInteger,Unsafe,CAS
- win10 x64安装xgboost错误解决
- oracle:时区
- linux入门-python多版本切换
- HDU-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- JAVA同步之ReentrantLock可中断锁的使用
- Android --- 使用Intent传递对象的方式
- 一些候选题
- 网络图片加载获取
- 1279: Good morning
- 实习日记:ElasticSearch 学习小记
- 关于二叉树的先序/中序/后序/层序遍历表示
- NYOJ C语言合法标识符
- SecondaryNameNode作用