本文主要是介绍【硬刚Java并发】JUC基础(六):Lock 同步锁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Java并发部分补充。
显示锁 Lock
在 Java 5.0 之前,协调共享对象的访问时可以使用的机制只有 synchronized 和 volatile 。Java 5.0 后增加了一些新的机制,但并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。
ReentrantLock 实现了 Lock 接口,并提供了与synchronized 相同的互斥性和内存可见性。但相较于synchronized 提供了更高的处理锁的灵活性。
package com.atguigu.juc;import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;/** 一、用于解决多线程安全问题的方式:* * synchronized:隐式锁* 1. 同步代码块* * 2. 同步方法* * jdk 1.5 后:* 3. 同步锁 Lock* 注意:是一个显示锁,需要通过 lock() 方法上锁,必须通过 unlock() 方法进行释放锁*/
public cl
这篇关于【硬刚Java并发】JUC基础(六):Lock 同步锁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!