腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
在
Unix
中
崩溃
时
自动
释放
互斥
锁
、
、
、
、
当使用段进行读或写
时
,它们持有一个
锁
。(我没有附加到pthreads函数;SysV信号量或任何其他函数都可以。)
浏览 0
提问于2010-11-11
得票数 2
回答已采纳
4
回答
在
崩溃
后获得名为mutex的boost进程间
、
、
、
、
我使用的是使用boost::interpocess::scoped_lock的named_mutex和timeout;我
在
Linux
中
运行。
在
我的一次测试
中
,我遇到了一次
崩溃
:从那时起,每次我尝试再次运行应用程序时,它都会停留在我创建
锁
的位置上;看起来
互斥
锁
仍然是以某种方式获得的(不可能使用它的进程正在运行)。最重要的是,如果您查看下面的代码,我希望
在
150微秒之后,定时的scoped_lock返回给我一个error..but --而
浏览 8
提问于2011-10-18
得票数 8
回答已采纳
1
回答
是否有一个健壮的实现condition_variable和
互斥
,可以存储
在
共享内存的视窗?
、
、
如问题中所述,如果持有
互斥
锁
的进程
崩溃
,使用boost的interprocess_mutex和进程间condition_variable可能会导致死锁。这是因为boost的
互斥
锁
不是内核对象,因此
在
持有它的进程退出
时
不会
自动
释放
。boost中有没有办法将进程间条件变量与调用CreateMutex返回的
互斥
锁
一起使用?
浏览 7
提问于2017-07-12
得票数 1
2
回答
进程
崩溃
时
未
释放
名为
互斥
锁
的Win32
、
我有两个进程(A,B)共享同一个
互斥
锁
(使用WaitForSingleObject / ReleaseMutex调用)。一切工作正常,但当进程A
崩溃
时
,进程B仍在愉快地运行。当我重新启动进程A
时
,出现了死锁。 更深入的研究表明,
在
进程A
崩溃
后,进程B可以成功调用ReleaseMutex()两次。我的解释是:
在
进程A
崩溃
后,
互斥
锁
仍然是锁定的,但
互斥
锁
的所
浏览 1
提问于2013-02-21
得票数 11
回答已采纳
3
回答
进程结束/终止
时
清除共享POSIX对象
、
、
、
、
有没有办法执行POSIX共享同步对象清理,特别是
在
进程
崩溃
时
?锁定的POSIX信号量解锁是最理想的事情,但
自动
‘收集’队列/共享内存区域也很好。
浏览 2
提问于2009-11-10
得票数 4
回答已采纳
2
回答
对
互斥
物的“安全”处理?
、
、
我经常从内存映射文件
中
读取另一个进程正在写入并使用
互斥
对象来同步此操作。
在
我目前为止的几次测试
中
,这还不错,但是.如果我的应用程序
在
获取
互斥
体之后并在
释放
它之前
崩溃
怎么办?有什么办法可以保证
互斥
物的
释放
,即使在这样的
崩溃
情况下? 另外,我将如何处理另一个进程的
崩溃
,该进程可能尚未
释放
互斥
体?每次调用AbandonedMutexException
浏览 4
提问于2012-02-06
得票数 8
回答已采纳
2
回答
如何在进程
崩溃
时
释放
boost::interprocess::named_mutex
、
、
、
、
我使用boost::interprocess
在
共享内存
中
创建了一个boost::multi_index数据结构。有许多客户端进程将访问此数据结构。访问
时
,我会锁定数据结构。我遇到的问题是,一旦客户端进程正在访问数据结构,并且
在
没有
释放
被占用的
锁
的情况下
崩溃
,那么所有其他客户端进程都无法访问该数据结构。我用的是boost::interprocess::named_mutex,我知道boost::interprocess::file_lock可以
在
进程<e
浏览 16
提问于2019-07-03
得票数 2
3
回答
线程使用锁定的
互斥
锁
崩溃
、
、
有一种情况,我有两个线程都在使用相同的
互斥
量。一个线程锁定
互斥
锁
并
崩溃
。
互斥
状态是什么?它是否仍然被锁定,并且第二个线程永远不会拥有该
互斥
锁
?意味着死锁的情况?
浏览 1
提问于2010-07-02
得票数 5
回答已采纳
1
回答
自动
释放
线程析构函数运行时持有的
互斥
锁
、
、
有没有一种万无一失的方法,可以在线程退出
时
(在其析构函数
中
)
自动
释放
线程持有的
互斥
?我一直采用的方法是为每个
互斥
锁
创建一个结构,每个
互斥
锁
保存持有它的线程的标识,然后
在
析构函数
中
扫描这个列表,如果有任何
互斥
锁
与正在完成的线程匹配,则
释放
它。但我认为这实际上有一个竞争条件:如果在我锁定
互斥
之后,但在我设置数据结构之前,析构函数被调
浏览 0
提问于2012-07-31
得票数 0
回答已采纳
1
回答
信号后但
互斥
释放
前的Condvar行为
、
、
我
在
试着弄明白,
在
我发出信号之后,我有什么保证。消费线程: while(variable !关于上面代码
中
的未知点,我得到了什么保证?我仍然持有
互斥
锁
,但是我能知道消费者的状态吗? 从“男人”页面上看,我不清楚制片人在广播/信号之后,以及
在
释放
互斥
物之前处于什么状态。
浏览 2
提问于2014-10-24
得票数 1
1
回答
共享内存使用无
锁
算法
、
、
、
我想使用lock-free algorithm作为共享内存,以避免
互斥
。我有一些共享数据的进程使用共享内存。如果一个进程正在锁定
互斥
对象并
崩溃
,所有其他进程也会
崩溃
。我读了一些用链表实现无
锁
算法的论文。但是
在
我的共享内存
中
,我不能定义用于这个内存块的数据结构。我只有一个指向这个街区的指针。 所以我对
在
我的情况下应用无
锁
算法没有任何想法。我需要你的帮助。
浏览 3
提问于2012-09-06
得票数 4
2
回答
boost:如何监视
互斥
状态和死锁上的强制
释放
[2]
、
、
、
我试图使用boost
中
的shared_lock和unique_lock库来实现对资源的基本读取器
锁
。但是,一些访问资源的线程有可能简单地
崩溃
。我想要创建另一个进程,在给定
互斥
锁
的情况下,监视
互斥
锁
,并跟踪哪些进程锁定了资源,以及每个进程拥有
锁
的时间。如果进程拥有超过给定时间的
锁
,则该进程还将强制进程
释放
其锁定。尽管boost
锁
都是作用域
锁
,一旦超出范围,就会
自动
解
浏览 4
提问于2012-11-12
得票数 3
3
回答
一旦我们用信号通知了一个条件变量,我们还会继续执行原始线程吗?
、
、
、
下面我有一个问题。int A = 0; int B = 0;while (condition == FALSE) pthread_mutex_lock(&mutex);
浏览 0
提问于2015-03-02
得票数 0
2
回答
混合线程、分支和
互斥
,我应该注意什么?
、
、
如果我fork一个进程,其中一个线程持有一个
互斥
锁
,如果我立即在子进程
中
exec,我是相对安全的吗?
在
我使用exec之前,
在
孩子身上做什么是安全的
在
不同的平台上答案是不
浏览 0
提问于2013-01-19
得票数 7
回答已采纳
1
回答
Internet Explorer BHO检查站点的多实例
、
、
它通过在打开门户
时
写入一个临时文件来实现这一点。不幸的是,这并不是最好的,因为如果IE因为任何原因
崩溃
,那么下一次门户网站启动
时
,用户会盯着一条“未经授权”的消息,直到过时的临时文件被删除。所以我的问题是:
在
BHO中有没有办法查看同一个url被加载了多少次?我的意思是,有什么方法可以直接从IE获取这些信息吗?实际上要复杂一点,因为我们需要允许弹出窗口等,但这将是一个很好的开始。
浏览 2
提问于2011-04-20
得票数 0
回答已采纳
1
回答
如果一个线程锁定了一个
互斥
锁
而没有解锁它,那么其他线程不应该被阻塞吗?
、
、
、
下面代码的输出是4000;如果拥有
互斥
锁
的线程没有
释放
它,为什么是4000?我认为这将是一个死锁,基本上我等待所有的函数完成。
浏览 51
提问于2019-03-29
得票数 3
回答已采纳
4
回答
递归和非递归
锁
(
互斥
锁
)
、
、
、
在
我的程序
中
,我的死锁有问题。所以我一直在读关于
锁
的文章,但问题是大多数信息都是不一致的,或者没有定义平台。
在
,最被接受的答案是: 因为递归
互斥
具有所有权,所以获取
互斥
的线程必须是
释放
互斥
的线程。
在
非递归
互斥
的情况下,没有所有权,任何线程通常都可以
释放
互斥
,不管哪个线程最初使用
互斥
。
在
许多情况下,这种类型的“
互斥
”实际上是一种
浏览 9
提问于2014-10-30
得票数 4
回答已采纳
1
回答
boost::interprocess::scoped_lock应用程序
在
锁
内
崩溃
、
、
、
、
我使用的是boost::interprocess::scoped_lock,如果应用程序由于某些原因而
崩溃
,
在
互斥
对象的作用域中没有
释放
。下次执行应用程序时(不重新启动计算机),
互斥
锁
就会被锁定。
浏览 9
提问于2011-06-07
得票数 7
回答已采纳
2
回答
等同于Mac OS X
中
Windows的命名
互斥
?
、
、
、
、
目前,我正在将一个软件从Windows移植到C++
中
的Mac。由于放弃状态的存在,尝试锁定放弃的
互斥
锁
不会导致死锁。 如果没有放弃状态,它将永远等待一个不属于任何人的
互斥</em
浏览 5
提问于2014-05-29
得票数 7
5
回答
Java wait(),notify()的实现与
锁
有显著的不同吗?
、
、
、
、
出于好奇,当Java实现wait()和notify()方法
时
,它们真的只是使用
锁
吗?也就是说,wait()获取一个
互斥
锁
,notify()
释放
互斥
锁
,notifyAll()
释放
所有
互斥
锁
(当然是
在
同一个对象
中
)?除了比使用
锁
更不麻烦之外,使用wait()和notify()还有其他优点吗?编辑
在
Brian的评论之后,我意识到了自己的困惑: wait
浏览 0
提问于2013-06-23
得票数 8
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
建立对分布式锁的系统认知-从Redlock开始
浅析 Redis 分布式锁解决方案
Java中的21种锁,图文并茂的详细解释
Redis的分布式锁要注意哪些安全性问题?
使用互斥锁(Mutex)管理共享资源
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券