首页文章正文

reentrantlock详解,reentrantlock

reentrantlock自旋锁 2023-09-02 15:59 189 墨鱼
reentrantlock自旋锁

reentrantlock详解,reentrantlock

reentrantlock详解,reentrantlock

ReentrantLock是Java并发包中的互斥锁。它有airlock和unfairlock两种实现方法。以kinglock()为例,其使用方法为:ReentrantLocktakeLock=newReentrantLock();//获取locktakeLock.lock();try{/publicclassReentrantLockDemo{publicstaticvoidmain(String[]args)throwsException{AddDemorunnalbeDemo=newAddDemo();Threadthread=new

ReentrantLock在开发中的使用非常简单,在需要保证线程安全的代码块之前调用lock()方法实现加锁,在代码块之后调用unlock()方法释放锁。 根据上一篇文章中的代码,得到的结果如下。在想了解更多关于可重入锁之前,建议学习AQS()可重入锁详细讲解1.了解什么是可重入,什么是可重入锁,有疑问吗? 用来解决什么问题? 可重入锁的核心是AQS,那么它是如何实现的

ReentrantLock实现了独占模式,内部实现了tryAcquire和tryRelease方法,用于尝试获取和释放锁。实际上,我们使用ReentrantLock中的lock方法作为上述内容的同步器。ReentrantLock是Lock接口。 默认实现是独占锁。 与synchronized相比,可重入锁提供了更多的操作方法和更细粒度的锁定方法。 主要特点:(1)可重入。

具体实现上,ReentrantLock是基于AQS实现的。AQS的全称是:AbstractQueuedSynchronizer。AQS是一个用来实现同步器的类。 除了基于AQS的可重入锁之外,Semaphore、CountDownLatch等底层实现方法也是可重入锁(ReentrantLock)详细介绍

unlock();}}publicstaticvoidmain(String[]args){newReentrantLockTest().method1();}}上面是ReentrantLock的entrantlock特性,即调用method1()methodReentrantLock详细ReentrantLockntrantLock的作用是实现代码段的并发访问控制,也就是通常意义上的锁。java中实现锁的方式有两种,一种是本文提到的可重入锁,另一种是本文提到的可重入锁。

后台-插件-广告管理-内容页尾部广告(手机)

标签: reentrantlock

发表评论

评论列表

51加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号