java锁就Lock与synchronized两种,ReenTrantLock是Lock的实现 通过学习感觉ReenTrantLock相对于synchronized来说更加灵活
两种锁的说明: synchronized锁 分为两种:
1.锁方法
2.锁代码块
ReenTrantLock锁
逻辑锁,根据自己的逻辑需要去控制锁 Lock锁需要自己去定义,
并控制锁的开关, lock.lock(); lock.unLock();
ReenTrantLock是可重入锁,可以多次对自身进行递归,最大好20亿次左右
synchronized的使用说明:
锁方法
public static synchronized void test(){ //处理逻辑 }
锁块 public void test(){
synchronized(obj){
//逻辑处理
}
}
ReenTrantLock的使用
final ReenTrantLock lock = new ReenTrantLock ();
public void test(){
try{
lock.lock();
//逻辑处理
}finally{
//一定要进行解锁
lock.unlock();
}
}
使用2:
lock对象可以进行方法传递
m1(){
lock.lock();
}
m2(final ReenTrantLock lock){
逻辑处理
try{
......
}finally{
lock.unlock();
}
}
这两者的区别 synchronized最大范围是方法方法锁,ReenTrantLock 的代码块锁可以穿插方法,比synchronized更加灵活,
还有.ReentrantReadWriteLock的使用方法大家可以看看相关的API
相关推荐
java语言 并发编程 ReentrantLock与synchronized区别 详解
助于理解的例子 博文链接:https://uule.iteye.com/blog/1488356
深入java并发编程,使用ReentrantLock和 Synchronized加锁
java lock synchronized
ReentrantLock与synchronized来的区别 1.synchronized是独占锁,加锁和解锁的过程自动进行,易于操作,但不够灵活。ReentrantLock也是独占锁,加锁和解锁的过程需要手动进行,不易操作,但非常灵活。 2.synchronized...
重入锁ReentrantLock 相对来说是synchronized、Object.wait()和Object.notify()方法的替代品(或者说是增强版),在JDK5.0的早期版本,重入锁的性能远远好于synchronized,但从JDK6.0开始,JDK在synchronized上做了...
第15讲丨synchronized和ReentrantLock有什么区别呢?.html
在 Java 5 以前,synchronized 是仅有的同步手段,在代码中, synchronized 可以用来修饰方法,也可以使用在特定的代码块儿上,本质上
本文介绍了多线程和并发性并不是什么新内容,但是Java语言设计中的创新之一就是,它是第一个直接把跨平台...本文还简单介绍和比较了ReentrantLock和synchronized,以及在什么时候选择用ReentrantLock代替synchronized。
目录: 简介 ReentrantLock的基本用法 2.1 创建ReentrantLock 2.2 获取锁和释放锁 公平性与非公平性 3.1 公平锁 3.2 非公平锁 中断响应 ...ReentrantLock与synchronized的对比 最佳实践与注意事项
比较 Locks 框架与传统 synchronized 关键字的不同之处。 ReentrantLock 简介: 详细讲解 ReentrantLock 的概念和特点。解释为什么它被称为“可重入锁”,以及如何解决传统锁可能的问题。 ReentrantLock 的基本用法...
Lock接口与synchronized关键字在Java并发编程中都是用于实现同步机制的重要工具,但它们在使用方式、功能特性以及灵活性等方面存在一些显著的差异。 首先,从使用方式上来看,synchronized是Java语言内置的关键字,...
synchronized关键字是通过字节码指令来实现的 synchronized关键字编译后会在同步块前后形成monitorenter和monitorexit两个字节码指令 执行monitorenter指令时需要先获得对象的锁(每个对象有一个监视器锁...
带你看看Javad的锁-ReentrantLock前言ReentrantLock简介Synchronized对比用法源码分析代码结构方法分析SyncNonfairSyncFairSync非公平锁VS公平锁什么是公平非公平ReentrantLockReentrantLock的构造函数lock加锁方法...
背景,应该就是Synchronized的缺点Synchronized产生原因,原子性(Atomicity)与可见性(visibility),其中可见性涉及到JM
ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。在java关键字synchronized隐式支持重...
8. Lock接口 (ReentrantLock 可重入锁) 特性 ReentantLock 继承接口 Lock 并实现了接口中定义的方法, 它是一种可重入锁, 除了能完成 synchronized 所能完成的所有工作外,还提供了诸如可响应中断锁、可轮询锁...
Java并发编程学习宝典(漫画版),Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习宝典(漫画版)Java并发编程学习...
Android常见面试题 例如:java中==和equals和hashCode的区别 、ReentrantLock 、synchronized和volatile比较