腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
互斥
锁
总是作为自旋等待实现吗?
、
、
、
见操作系统概念9ed第5.5和5.6节和
是否
仍在忙于等待信号量的进程阻塞实现?) 如果
互斥
锁
可以实现为块等待,那么
互斥
锁
是否
与二进制信号量相同?(Stalling的OS书中说
互斥
锁
和二进制信号量
是否
必须是锁定
互斥
锁
的进程(将值设置为零)。它没有提到他们
是否
有不同的旋转,只等待。见下文。)在操作系统概念
中
,5.5 Mutex
锁
将
互斥</em
浏览 0
提问于2020-11-09
得票数 0
3
回答
用C/C++命名进程内部
互斥
锁
?
、
、
、
、
是否
有使用C/C++ (在Unix/Linux
中
)实现命名进程内部
互斥
锁
的方法?如果您使用内存映射文件或共享内存,您将获得文件系统持久性... 有什么想法吗?
浏览 0
提问于2011-09-24
得票数 0
8
回答
递归锁定(Mutex)与非递归锁定(Mutex)
、
、
、
、
POSIX允许
互斥
锁
是递归的。这意味着同一线程可以锁定同一
互斥
锁
两次,而不会死锁。当然,它还
需要
解锁两次,否则其他线程都无法获得
互斥
锁
。一些系统/语言(例如Cocoa Objective-C)同时提供递归和非递归
互斥
锁
。有些语言也只提供一种或另一种。例如,在Java
中
,
互斥
锁
总是递归的(同一个线程可以在同一个对象上“同步”两次)。根据它们提供的其他线程功能,没有递归<em
浏览 8
提问于2008-10-09
得票数 195
回答已采纳
7
回答
互斥
是否
保证采购的顺序?当其他人还在等待的时候,解锁线程再次接受它。
、
、
、
、
最近,一位同事遇到了一个问题,我们认为这个问题归结为两个线程的C++应用程序
中
的以下一系列事件: 这个事
浏览 9
提问于2016-06-16
得票数 30
回答已采纳
2
回答
互斥
锁
越多效率越高?
、
假设我在C++中使用pthread,假设我有N个(例如,N=10或100)个
需要
互斥
保护的独立变量。我可以创建N个
互斥
锁
,每个变量一个,或者我可以创建一个
互斥
锁
,以保护所有这N个变量。当然,理想情况下,拥有N个
互斥
锁
更好,因为等待的重叠较少。但在实践
中
,这总是正确的吗?
是否
有其他开销(除了创建/销毁)来维护过多的
互斥
?
浏览 28
提问于2017-03-11
得票数 0
1
回答
我
是否
需要
使用
互斥
锁
来保护从不同线程对
互斥
锁
数组的访问?
、
、
、
、
假设我有一堆文件,每个文件都有一个
互斥
锁
的数组。现在我有不同的线程从随机文件
中
读取数据,但首先它们
需要
从数组
中
获取
锁
。在获取特定文件的
互斥
锁
之前,我
是否
应该在整个数组上设置一个
锁
?
浏览 0
提问于2020-03-06
得票数 1
4
回答
JVM
是否
为每个对象创建
互斥
锁
以实现“synchronized”关键字?如果不是,怎么做?
、
、
、
、
自动选择为每个对象创建
互斥
锁
似乎是一项沉重的成本。在某些平台上,除了内存使用之外,
互斥
锁
还是一种操作系统受限的资源。如果
互斥
锁
不可用,但其性能特征明显不同,我认为这会损害可预测性,那么您可以旋转
锁
。JVM
是否
在所有情况下都足够智能,能够识别出某个特定对象永远不会成为synchronized关键字的目标,从而避免创建
互斥
锁
?
互斥
锁
可以懒惰地创建,但这带来了一个自举问题,本身就
浏览 0
提问于2009-12-14
得票数 19
回答已采纳
1
回答
boost::recursive_mutex::scoped_locks析构函数会引用一个未锁定的
互斥
锁
吗?
、
、
、
、
在boost::recursive_mutex::scoped_lock上调用unlock()之后,
锁
对象会以某种方式在其析构函数
中
引用
互斥
锁
吗?如果
互斥
锁在
锁
超出作用域之前就被销毁了,那么
是否
也
需要
在锁上调用release()?
浏览 5
提问于2011-03-11
得票数 1
回答已采纳
1
回答
为什么
互斥
锁
不
需要
互斥
锁
(而那个
互斥
锁
需要
互斥
锁
...)
、
、
、
我正在通过指针(cv::Mat和bool的)将一些变量传递给几个线程,并试图了解何时
需要
使用
互斥
。我发现如果不在cv::Mat上使用它,我的程序就会崩溃(很可能是因为一个线程正在写入另一个线程正在读取的相同内存区域),所以我为这些变量实现了
互斥
,并解决了这个问题。但是现在
互斥
锁
是我通过指针传递给每个线程的又一个变量。因此,在这种情况下,对mutex变量的处理与我
需要
互斥
的其他变量的使用是相同的,所以
互斥
的特殊之处在于我不
需要
互
浏览 15
提问于2016-09-02
得票数 4
回答已采纳
1
回答
锁
层次结构和读取器-写入器
互斥
、
、
、
、
假设我使用
锁
层次结构来避免死锁。如果我使用读取器-写入器
互斥
锁
,我应该如何考虑和使用它们?在每个读写
互斥
锁
的层次结构
中
是否
存在(我能想到的)不同的读
锁
和写
锁
吗?(如果是,这意味着这两个
锁
可以在层次结构中分配不同的级别。)使用读写
互斥
锁
是否
会在层次结构
中
引入死锁的可能性?(如果是,如何(如果可以)避免这种情况?)那么“可升级”
锁
(
浏览 2
提问于2011-05-04
得票数 2
回答已采纳
1
回答
互斥
锁
是否
保证线程总是将更新的值存储到主内存
中
?
、
、
、
、
用
互斥
锁
访问内存位置
是否
意味着,无论关键代码对
互斥
变量做什么,变量都将进入主内存,而不仅仅是在线程的缓存或寄存器
中
更新,而在主内存
中
没有新的值副本?如果是这样的话,我们是不是像没有缓存那样有效地运行关键核心(至少没有
互斥
锁
变量的缓存位置)?如果是这样的话,那么关键代码不是一个沉重的代码,并且
需要
尽可能小,考虑到至少在
互斥
锁
会话的开始和结束时继续
需要
读取和写入主内存吗?
浏览 0
提问于2021-11-21
得票数 2
回答已采纳
2
回答
为什么“锁定
互斥
锁
的进程必须是解锁它的进程"?
、
、
、
在操作系统概念
中
,5.5 Mutex Locks将
互斥
锁定义为: 我们使用
互斥
锁
保护关键区域,从而防止种族状况。也就是说,进程必须在进入关键部分之前获取
锁
;它在退出关键部分时释放
锁
。5.8 ()函数获取
锁
,Figure ()函数释放
锁
,如图5.8所示。
互斥
锁
有一个布尔变量可用,其值指示
锁
是否
可用。如果
锁
可用,则成功调用获取(),然后认为
锁
不可用。
浏览 0
提问于2020-11-09
得票数 1
1
回答
是否
有必要锁定STL容器以读取它们的数据?
、
、
、
我正在尝试弄清楚,为了从映射或向量
中
读取值,我
是否
需要
持有某些数据的
互斥
锁
,或者
是否
只有在我要更改数据/添加新项时才
需要
持有
互斥
锁
。
浏览 0
提问于2011-04-17
得票数 4
回答已采纳
3
回答
进程间
互斥
锁
的使用
、
、
、
、
操作系统: Windows语言: C/C++ 该设计要求跨进程及其子进程使用
互斥
变量。如果我在一个进程
中
创建
互斥
锁
,我必须在另一个进程
中
打开
互斥
锁
来检查临界区的可用性。要打开
互斥
锁
,我
需要
知道在父进程
中
创建的
互斥
锁
的名称。假设,如果我保留
互斥
锁
作为我的应用程序名。我可以知道
互斥
锁
的名
浏览 3
提问于2011-03-16
得票数 3
回答已采纳
1
回答
现在,为什么Monitor
需要
一个条件变量?
、
、
、
、
当你查看C#的Monitor类时,你会发现在它的实现
中
你有一个条件变量和一个
互斥
量。
互斥
量是由一个新的线程获得的,如果它还没有被另一个线程获得,然后它继续检查条件变量,如果它是true,线程可以继续,如果它不是真,那么它被放在条件变量的线程睡眠队列
中
,以便在条件变量再次变为真时被唤醒。现在,为什么Monitor
需要
一个条件变量?它检查什么条件?我已经通读了一篇关于监视器的文章,但我还不能推断它会等待什么条件? 它不是由lock或Monitor的用户指定的,而是一些内部变量。看到
锁
作为参数
浏览 1
提问于2014-07-03
得票数 2
1
回答
如何在多线程进程
中
锁定矩阵单元
、
当一个线程完成它的工作(这个工作在2-D数组
中
的相邻位置)时,我要么锁定整个矩阵,完成它的工作,然后解锁它,让其他线程也完成它们的工作。或者,我可以锁定它们的相邻位置,在本例
中
,包括对角线在内的8个位置,或者我可以阻止线程想要移动的目标单元格。在本例
中
,我只使用了一个
互斥
锁
。它可以工作,但我不认为我在这种方法
中
受益于整个多线程支持。 在第二种方法
中
,我不知道如何实现8个相邻位置锁定或锁定线程想要去的目标位置。我
是否
应该使用多个
互斥
量,
浏览 0
提问于2018-04-22
得票数 1
1
回答
持有
锁
的线程可以进入休眠状态吗?
我对
互斥
锁
持怀疑态度。Global mutex;Acquire lock on mutex;Release lock; 如果线程获得
互斥
锁
(例如,tbb
互斥
锁
),它
是否
可以在持有
锁
的同时被处理器休眠并在稍后唤醒以完成作业,或者当线程获得
互斥
锁
的
锁
时,它会不间断地继续
浏览 3
提问于2012-03-10
得票数 1
回答已采纳
1
回答
C-并发问题
、
我在Linux上用C开发的代码有问题。typedef struct _my_sem { pthread_mutex_t m;以及以下功能(不报告错误管理):void my_sem_destroy(my_sem *s);void my_sem_unlock(my_sem *s); { pthread_mut
浏览 0
提问于2016-10-12
得票数 0
1
回答
如何检查pthread_mutex
是否
基于健壮的futex
、
、
、
我试图在Linux中使用基于鲁棒futex的线程
互斥
锁
,因为我
需要
快速和健壮(恢复“死”
锁
)。如何检查任何Linux系统上的线程
互斥
库
是否
基于健壮的futex? 谢谢!
浏览 6
提问于2013-07-02
得票数 1
1
回答
CAsyncSocket和线程/进程安全性
、
、
、
代码在dll
中
,多个应用程序将在同一台PC上使用,所有端口都是硬编码的。我
需要
同步吗?还是MFC CAsyncSocket会为我做这件事?
浏览 0
提问于2012-10-10
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
海尔扫地一体机,电池损坏不要直接换,需要看下保护板是否带锁
Java并发编程:AQS的自旋锁
NO.37 读写同心锁:探秘ReadWriteLock
互斥锁、自旋锁、读写锁……理清它们的区别和应用
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券