解决线程安全问题的方式三:Lock锁
Lock锁
(jdk5.0后的方式)
- 从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同 步锁对象来实现同步。同步锁使用Lock对象充当。
- java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的 工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象 加锁,线程开始访问共享资源之前应先获得Lock对象。
- ReentrantLock 类实现了 Lock ,它拥有与 synchronized 相同的并发性和 内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以 显式加锁、释放锁。
- 代码举例(实现Runnable接口的方式去创建线程):
package com.jsm.java3;
import java
本文介绍了Java 5.0引入的Lock锁机制,作为解决线程安全问题的一种方式,对比了Lock与synchronized的区别,并给出了使用Lock的优先级建议。内容包含Lock的使用示例及多线程同步问题的分析。
订阅专栏 解锁全文
372

被折叠的 条评论
为什么被折叠?



