JDK并发包---(3)重入锁ReentrantLock:锁申请等待限时
2017-01-04 15:45
507 查看
import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; public class TimeLock implements Runnable { public static ReentrantLock lock = new ReentrantLock(); @Override public void run() { try { if (lock.tryLock(5, TimeUnit.SECONDS)) { System.out.println(Thread.currentThread().getId() + ":get lock successed!"); Thread.sleep(6000); } else { System.out.println(Thread.currentThread().getId() + ":get lock failed!"); } } catch (InterruptedException e) { e.printStackTrace(); } finally { if (lock.isHeldByCurrentThread()) { System.out.println(Thread.currentThread().getId() + ":unlock"); lock.unlock(); } } } public static void main(String args[]) { TimeLock tl = new TimeLock(); Thread t1 = new Thread(tl); Thread t2 = new Thread(tl); t1.start(); t2.start(); } }
相关文章推荐
- JDK并发包---(4)重入锁ReentrantLock:锁申请无限等待且不会产生死锁
- JDK并发包---(1)重入锁ReentrantLock:基本使用
- JDK并发包---(2)重入锁ReentrantLock:中断响应
- JDK并发包---(5)重入锁ReentrantLock:公平锁
- JDK并发包---(6)重入锁ReentrantLock搭档:Condition条件
- java高并发程序设计总结三:JDK并发包之ReentrantLock重入锁
- 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock
- Java乐观锁悲观锁、synchronized,重入锁 (ReentrantLock)处理并发(互斥同步、非互斥同步)
- 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock
- 【死磕Java并发】-----J.U.C之重入锁:ReentrantLock
- java并发-锁-ReentrantLock(重入锁)和ReentrantReadWriteLock(读写锁)
- Java并发——重入锁ReentrantLock的实现原理及源码解析
- ReentrantLock实现限时等待锁
- Java高并发程序-Chapter3 JDK并发包(第十七讲)同步控制之ReentrantLock 的实现
- 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock
- jdk源码解读-并发包-Lock-ReentrantReadWriteLock(1)-整体介绍以及读锁的lock 和 unlock 解析
- Java并发编程 - ReentrantLock(重入锁)以及公平性
- 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock
- 【Java并发】- ReentrantLock,重入锁
- 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock