社区
C++ 语言
帖子详情
加锁实际上是让访问共享资源的线程之间暂时失去并发性?
qscool1987
2012-02-24 11:58:43
加锁实际上是让访问共享资源的线程之间暂时失去并发性。
关于上面这句话对还是不对呢?
我个人认为是正确的。
理由:加锁之后没有获得资源的线程就要等待。打个不太形象的比如,大家一起向食堂冲,打饭时大家就得排队来,打饭的这段时间就打破了原来一起冲的行为。加锁我认为也应该是这样。
如果有不同意见请阐明观点。
...全文
90
10
打赏
收藏
加锁实际上是让访问共享资源的线程之间暂时失去并发性?
加锁实际上是让访问共享资源的线程之间暂时失去并发性。 关于上面这句话对还是不对呢? 我个人认为是正确的。 理由:加锁之后没有获得资源的线程就要等待。打个不太形象的比如,大家一起向食堂冲,打饭时大家就得排队来,打饭的这段时间就打破了原来一起冲的行为。加锁我认为也应该是这样。 如果有不同意见请阐明观点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
muyi66
2012-02-24
打赏
举报
回复
这样理解没问题,加锁的目的就是要在自己做完想做的事情前不让别人碰你锁定的东西。
现在的软件公司真够随意的,上次我们在飞机上居然碰到和别人的票重座位的事情。真不知道那程序是怎么通过审核的。
sl51314240
2012-02-24
打赏
举报
回复
本来就是这样的,有啥问题?
赵4老师
2012-02-24
打赏
举报
回复
加锁实际上是让并发访问共享资源会导致冲突的线程之间在访问该资源时不并发而按先后次序逐个访问从而避免冲突。
coding_leezam
2012-02-24
打赏
举报
回复
最近看并行程序设计、我觉得应该是的吧、既然是共享变量、就是应该防止同一时间至少有两个线程访问阿、保护数据的一致性(应该是这样的)、其实可以用原子操作或者用本地变量、加锁解锁代价有点大、
muyi66
2012-02-24
打赏
举报
回复
[Quote=引用 9 楼 zhao4zhong1 的回复:]
引用 4 楼 muyi66 的回复:
这样理解没问题,加锁的目的就是要在自己做完想做的事情前不让别人碰你锁定的东西。
现在的软件公司真够随意的,上次我们在飞机上居然碰到和别人的票重座位的事情。真不知道那程序是怎么通过审核的。
只要是锁,都有失效的时候。
[/Quote]不是所有的失效都可以原谅,这样的失效是不可容忍的
赵4老师
2012-02-24
打赏
举报
回复
[Quote=引用 4 楼 muyi66 的回复:]
这样理解没问题,加锁的目的就是要在自己做完想做的事情前不让别人碰你锁定的东西。
现在的软件公司真够随意的,上次我们在飞机上居然碰到和别人的票重座位的事情。真不知道那程序是怎么通过审核的。
[/Quote]
只要是锁,都有失效的时候。
恨天低
2012-02-24
打赏
举报
回复
[Quote=引用 7 楼 morebread 的回复:]
引用 6 楼 stjay 的回复:
这个不一定
有种读写锁
读操作可以同时进行的
读本来就是可以同时进行的。加锁一般也是用在写操作上面的吧
[/Quote]
++
morebread
2012-02-24
打赏
举报
回复
[Quote=引用 6 楼 stjay 的回复:]
这个不一定
有种读写锁
读操作可以同时进行的
[/Quote]
读本来就是可以同时进行的。加锁一般也是用在写操作上面的吧
stjay
2012-02-24
打赏
举报
回复
这个不一定
有种读写锁
读操作可以同时进行的
Kevin_qing
2012-02-24
打赏
举报
回复
就是把并行变成串行
Java
线程
&
并发
本课程主要讲解cpu缓存、java内存模型、
线程
的创建、
线程
池、
线程
同步、锁、CAS。 帮助学员处理高
并发
下,
线程
的开发任务。
性
能测试面试题:多
线程
高
并发
场景下,为什么需要
加锁
?
确保
线程
安全是
性
能测试高
并发
多
线程
测试中必不可少的一个重要步骤,采用适当的
加锁
措施可以避免
线程
间数据竞争的问题,确保测试的可靠
性
和准确
性
基于多
线程
并发
-多
线程
为什么要
加锁
1)多个
线程
访问其共有的
资源
(堆、全局变量等),需要
加锁
(互斥锁、读写锁、递归锁等),否则可能存在寄存器和内存数据不一致。 **注意:**堆对象的创建分为分配内存、初始化、指针指向该内存,注意锁的细粒度。 2...
如何在不
加锁
的情况下解决
线程
安全问题
线程
安全问题就是多个
线程
同时对于某个共享
资源
的访问,导致的原子
性
,可见
性
和有序
性
的问题,而这些问题会导致共享数据存在一个不可预测
性
,使得程序在执行过程中会出现一些超过预期的一个结果 2. 解决...
多
线程
访问变量是否要
加锁
多个
线程
同时访问,加了互斥锁,感觉
资源
消耗的有点多。 这个变量即使多个
线程
访问冲突,也没有什么大的问题,很纠结是否
加锁
。 询问同事,arm访问int是原子型的,可以不
加锁
。 网上查询了下, 1.int变量读写是否是...
C++ 语言
64,643
社区成员
250,474
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章