社区
多编程的课程社区_NO_1
2021版Java多线程教程
帖子详情
可重入锁与不可重入锁
y1笑而过song
2023-01-12 21:42:42
课时名称
课时知识点
可重入锁与不可重入锁
2021版Java多线程教程26:可重入锁与不可重入锁
...全文
66
回复
打赏
收藏
可重入锁与不可重入锁
课时名称课时知识点可重入锁与不可重入锁2021版Java多线程教程26:可重入锁与不可重入锁
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
多线程-
可重入锁
与不
可重入锁
什么是
可重入锁
与不
可重入锁
? “
可重入锁
”这四个字分开来解释: 可:可以。 重:再次。 入:进入。 锁:同步锁。 综上所述,“
可重入锁
”就是这把同步锁可以再次进入。 进入什么? 进入同步域(即同步代码块/方法或显式锁锁定的代码)。 通俗来讲,
可重入锁
就是一证通。 只需一个证就可以通过所有相同关卡: 不
可重入锁
就是:即使每个关卡相同,你也得再拿一个一摸一样的证...
【业务功能篇70】
可重入锁
与不
可重入锁
本篇介绍的是
可重入锁
和不
可重入锁
。可指的是可以,不可指的是不可以。重入指的是重复进入同步作用域。这里的同步作用域可以是同步代码块,也可以是同步方法或者是lock锁同步代码,无论是进入哪一个同步作用域,都意味着同步锁被重复使用。所以重入也有重复使用同步锁的意思。锁指的是同步锁,综上锁述,
可重入锁
指的是可以重复使用的同步锁。不
可重入锁
指的是不可以重复使用的同步锁。那么哪些锁是可承认锁,哪些锁是不可承认锁呢?
对
可重入锁
和不
可重入锁
的理解
可重入锁
:ReentrantLock 在学JUC的时候,听到
可重入锁
这个词,不理解它的概念,网上搜索一番,还是有点迷糊,所以自己再来做一下笔记,理一理思路。 一、锁是什么? 我们这里提到的锁,是指把所需要的代码块,资源,或数据锁上,在操作访问他们的时候只允许一个线程去做操作。最终结果是为了保证cpu计算结果的正确性。 二、
可重入锁
与不
可重入锁
的区别? 1、不
可重入锁
: 只判断这个锁有没有被锁上,只要被锁上,申请锁的线程都会被要求等待。实现简单 2、
可重入锁
: 不仅判断锁有没有被锁上,还会判断锁是哪个线程锁
可重入锁
和不
可重入锁
如果把证件/卡看作是同步锁,把关卡看作是同步域(即同步代码块/方法或显式锁锁定的代码),那么
可重入锁
指的是可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁,这样的锁就叫做
可重入锁
。Reentrant = Re + entrant,Re是重复、又、再的意思,entrant是enter的名词或者形容词形式,翻译为进入者或者可进入的,所以Reentrant翻译为可重复进入的、可再次进入的,因此ReentrantLock翻译为重入锁或者再入锁。
可重入锁
与非
可重入锁
锁的分类 什么是
可重入锁
可重入锁
又名递归锁,是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提锁对象得是同一个对象或者class),不会因为之前已经获取过还没释放而阻塞。Java中ReentrantLock和synchronized都是
可重入锁
,
可重入锁
的一个优点是可一定程度避免死锁。 ReentrantLock和synchronized都是重入锁,
可重入锁
的好处:【1.避免死锁】【2.提升封装性】 案例实现 电影院预定预定电影院座位 预定座位就是个很好的lock
多编程的课程社区_NO_1
1
社区成员
125
社区内容
发帖
与我相关
我的任务
多编程的课程社区_NO_1
“人人都是程序员”机构讲师
复制链接
扫一扫
分享
社区描述
“人人都是程序员”机构讲师
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章