Java JUC 高级线程之六 显示锁 Lock

本文介绍了Java 5.0引入的高级线程管理机制——显示锁Lock,它提供了与synchronized相同的互斥和内存可见性保证,但更灵活。文章通过ReentrantLock作为示例,展示了Lock接口如何在并发编程中提高控制和可扩展性。
摘要由CSDN通过智能技术生成

文章目录

显示锁 Lock

  1. 在Java 5.0之前,协调共享对象的访问时,可以使用的机制只有synchronized和volatile。Java 5.0后增加了一些新的机制,但并不是一种代替内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。
  2. ReentrantLock实现了Lock接口,并提供了与synchronized相同的互斥性和内存可见性,但相较于synchronized提供了更高的处理锁的灵活性。

Demo

/*
 * 一、可用于解决多线程安全问题的方式:
 * 
 * synchronized:隐式锁
 * 1. 同步代码块
 * 
 * 2. 同步方法
 * 
 * 3. 同步锁
 * 
 * jdk 1.5 后: 显示锁
 * 4. 同步锁 Lock
 * 注意:是一个显示锁,需要通过lock() 方法上锁,必须通过 unlock() 方法进行释放锁
 * 通常把 unlock() 放到finally中,以确保其执行释放锁。
 */
public class TestLock {
   
	public static void main(String[] args) {
   

		Ticket tick = new 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值