社区
驱动开发/核心开发
帖子详情
关于锁的一个理解
四月小太阳
2014-05-22 11:30:18
如果我们拥有信号量和自旋锁的组合,则必须首先获得信号量;在拥有自旋锁时调用down(可导致休眠)是个严重的错误,
请问这句话应该如何理解呢》???实在困惑中·····
...全文
326
2
打赏
收藏
关于锁的一个理解
如果我们拥有信号量和自旋锁的组合,则必须首先获得信号量;在拥有自旋锁时调用down(可导致休眠)是个严重的错误, 请问这句话应该如何理解呢》???实在困惑中·····
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
猪头三小队长
2014-05-23
打赏
举报
回复
我猜写这段话的人的原意是怕某个自旋锁的持有者在拥有自旋锁之后睡眠,导致其他大批申请此自旋锁的cpu或者中断服务例程空转。 可是,可是这里还有可是,看看自旋锁的使用场景,多数使用在不能休眠的场合,也就是非进程上下文,既然这样你为什么要设计出自旋锁和信号量的组合,既然用到了信号量,说明你可以睡眠,那么你用自旋锁的用意何在,他所描述的这个场景可能是个可以避免的设计错误。
曹大夯
2014-05-23
打赏
举报
回复
这句话是从哪来的? 是不是英文翻译过来的么?有英文原文吗/ 还有,这段话的那文章或者是书名字,或者是章节的名字,或者上下文都是什么,讨论操作系统原理的么?
Java对象
锁
的
理解
Java 以前
理解
Java的
锁
机制认为:
锁
的类型分为‘类
锁
’,’方法
锁
‘,’对象
锁
‘。 1.类
锁
(synchronize(静态对象)):类的所有对象都要竞争
锁
。 2.方法
锁
(在方法前加synchronize): 同一对象同一方法需要竞争
锁
。 3.对象
锁
(synchronize(对象)):同一对象代码块竞争
锁
。 以上都是在学习Java
锁
的基础
理解
其实上面所有的
锁
,都是“对象
锁
” 类
锁
...
深入
理解
Java 并发
锁
一、并发
锁
简介 确保线程安全最常见的做法是利用
锁
机制(Lock、sychronized)来对共享数据做互斥同步,这样在同
一个
时刻,只有
一个
线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的。 在工作、面试中,经常会听到各种五花八门的
锁
,听的人云里雾里。
锁
的概念术语很多,它们是针对不同的问题所提出的,通过简单的梳理,也不难
理解
。 可重入
锁
可重入
锁
又名递归
锁
,是指同
一个
线程在外层方法获取了
锁
,在进入内层方法会自动获取
锁
。 可重入
锁
可以在一定程度上避免死
锁
。 Reentrant.
对象
锁
和类
锁
的个人
理解
对象
锁
和类
锁
的个人
理解
,记录
谈谈对Synchronized关键字,类
锁
,方法
锁
,重入
锁
的
理解
先了解相关的
锁
知识: java的内置
锁
:每个java对象都可以用做
一个
实现同步的
锁
,这些
锁
成为内置
锁
。线程进入同步代码块或方法的时候会自动获得该
锁
,在退出同步代码块或方法时会释放该
锁
。获得内置
锁
的唯一途径就是进入这个
锁
的保护的同步代码块或方法。 java内置
锁
是
一个
互斥
锁
,这就是意味着最多只有
一个
线程能够获得该
锁
,当线程A尝试去获得线程B持有的内置
锁
时,线程A必须等待或者阻塞,知道线程B释放这...
【数据库】悲观
锁
与乐观
锁
的
理解
和实现
什么是乐观
锁
和悲观
锁
?这其实是人们定义出的一种思想,可以对应为在生活中乐观的人和悲观的人。乐观
锁
总是相信最好的情况,去相信别人不会修改自己的数据,在每次取数据的时候都不会上
锁
,因此比较适用于读多写少的情况。而悲观
锁
恰恰相反,总是担心别人会去修改自己的数据,所以在每一次取数据时都会上
锁
,比较适用于写多读少的情况。 悲观
锁
首先我们来了解一下悲观
锁
,悲观
锁
认为被它保护的数据不安全的,随时都有可能变动,
一个
进程或线程拿到悲观
锁
后,其他的进程或线程都不能对该数据进行修改,只能等待
锁
被释放,下
一个
拿到
锁
的进程才能进
驱动开发/核心开发
21,597
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章