腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
递归
地获取(重入)
锁
?
java
、
multithreading
、
recursion
、
reentrantlock
ReentrantLock允许线程
递归
地获取相同的
锁
,以便在连续的
锁
/解锁时增加和减少
锁
计数。然而,在将
锁
计数释放到其他线程之前,必须将
锁
计数减为零。为什么或者在什么情况下,我要编写代码来
递归
地获取
锁
? 我能看到的唯一一点就是让我们更方便地编写
递归
代码,其中一个方法(在它的执行过程中获得一个
锁
)被
递归
地调用。在其他情况下,通过线程
递归
/重复获取
锁</em
浏览 1
提问于2014-10-24
得票数 3
1
回答
使pthread_rwlock_wrlock
递归
locking
、
pthreads
、
mutual-exclusion
、
rwlock
上面链接的规范指出,当一个线程锁定了写
锁
,而同一个线程再次锁定它时,它会导致未定义的行为(我实际上可以观察到这一点,因为在x86
Linux
上调用该函数是一个noop,而在PowerPC
Linux
上它会阻塞线程我需要的行为是具有以下特征的读写
锁
:
锁
不被任何其他线程持有。只有当前线程持有<em
浏览 2
提问于2011-08-19
得票数 7
回答已采纳
8
回答
递归
锁定(Mutex)与非
递归
锁定(Mutex)
multithreading
、
locking
、
mutex
、
deadlock
、
recursive-mutex
POSIX允许互斥
锁
是
递归
的。这意味着同一线程可以锁定同一互斥
锁
两次,而不会死锁。当然,它还需要解锁两次,否则其他线程都无法获得互斥
锁
。并不是所有支持pthread的系统都支持
递归
互斥
锁
,但如果它们想成为的话。 其他API(更高级的API)通常也提供互斥
锁
,通常称为
锁
。一些系统/语言(例如Cocoa Objective-C)同时提供
递归
和非
递归
互斥
锁
。有些语言也只提供一种或另一种。例如,在
浏览 8
提问于2008-10-09
得票数 195
回答已采纳
3
回答
如何检查线程是否持有互斥c++
c++
、
multithreading
、
unix
在我的应用程序(C++/
Linux
)中,有时一个线程会获取一个互斥
锁
(
递归
),而获取cancelled.This会导致死锁,因为其他线程也会使用相同的互斥
锁
而无法获取它。
浏览 4
提问于2012-05-12
得票数 1
2
回答
Mac /达尔文上的
递归
pthread_rwlock_rdlock
macos
、
pthreads
、
rwlock
基本上读
锁
是
递归
的。它是POSIX标准所要求的(要求读
锁
是
递归
的,但不是为写
锁
指定的)。这在
Linux
、FreeBSD、Solaris上有效,但在达尔文/Mac上不起作用。下面的示例在
Linux
上提供了以下输出:read lockedread locking 2read unlockedwrite unlocked 2read locking rea
浏览 7
提问于2012-01-10
得票数 1
4
回答
递归
和非
递归
锁
(互斥
锁
)
c++
、
multithreading
、
mutex
、
recursive-mutex
所以我一直在读关于
锁
的文章,但问题是大多数信息都是不一致的,或者没有定义平台。在,最被接受的答案是: 2)如果在
锁
中由线程A和线程B调用在非
递归
互斥中获取
锁
,那么线程B会等到
锁
被释
浏览 9
提问于2014-10-30
得票数 4
回答已采纳
3
回答
Pthread RWLock上的MAC死锁,而不是
Linux
上?
macos
、
pthreads
有一些奇怪的组合使用读/写
锁
和
递归
读
锁
,这是死锁,但不应该是死锁。 我把代码贴在了pastebin上,因为它不仅仅是一个代码片段。这段代码的编写方式不应该死锁,在
linux
上运行时确实不会死锁。
浏览 1
提问于2010-10-23
得票数 1
9
回答
如何
递归
地释放Subversion中的
锁
?
version-control
、
locking
、
svn
我从respository中查看了一个工作副本,并获得了它所有文件的
锁
。然后,在不释放
锁
的情况下,我将文件夹从磁盘中删除。我无法从存储库中删除该文件夹,因为它有一个
锁
如何打破存储库中的
锁
?是否有命令可以
递归
地打开文件夹的
锁
?
浏览 1
提问于2010-07-01
得票数 52
回答已采纳
1
回答
MySQL:可以
递归
地锁定表吗?
mysql
、
recursion
、
locking
、
nested
MySQL (InnoDB)表能否
递归
地锁定()默认行为似乎是(基于我所观察到的)第二个
锁
隐式地UNlocks第一个
锁
。 有什么办法使它
递归
地发挥作用吗?
浏览 2
提问于2013-03-01
得票数 1
回答已采纳
4
回答
相当于windows的EnterCriticalSection的
Linux
c++
、
windows
、
linux
Linux
的等价物是什么?pthread互斥
锁
也是这样的吗?或者是多个
锁
,一个解锁...
浏览 1
提问于2012-07-12
得票数 2
回答已采纳
2
回答
在什么情况下,一个互斥
锁
可以在同一线程中被多次锁定?
operating-system
、
mutex
如果互斥
锁
可以被线程
递归
锁定,我就不理解互斥
锁
的用法。为什么有人要
递归
地锁定互斥
锁
呢?在什么情况下,他们会使用这个?
浏览 1
提问于2010-08-22
得票数 1
2
回答
pthread_mutex_timedlock未超时
c
、
linux
、
embedded-linux
操作系统:
Linux
我有多个线程访问一个硬件,并且我通过使用互斥来防止争用。{ { func2(); ...}'abs_time.tv_sec‘是正确的-我
浏览 2
提问于2011-12-17
得票数 3
1
回答
为什么在
Linux
内核中执行
递归
自旋锁定时系统冻结
c
、
linux
、
linux-kernel
、
synchronization
、
linux-device-driver
我知道
linux
内核不支持
递归
自旋
锁
,它会死锁。#include <
linux
/module.h> MODULE_LICENSE("GPL"
浏览 3
提问于2019-09-21
得票数 1
2
回答
有人能帮我替换块设备驱动程序上的"lock_kernel“吗?
linux-kernel
、
linux-device-driver
、
ioctl
我注意到,在
Linux
2.6.37中,lock_kernel()似乎不受欢迎。我阅读了“ioctl()的新方法”,发现设备驱动程序现在应该在操作之前执行特定的
锁
。/spinlock.h> // spinklock_t#include <asm/atomic.h>// atomic #include <
linux
浏览 4
提问于2011-05-10
得票数 6
1
回答
非
递归
的还是
递归
的
锁
?
windows
、
multithreading
、
delphi
我正在考虑使用非
递归
锁
;我发现它们比标准
递归
锁
(例如SimpleRWSync)具有性能优势。我主要是使用关键部分,但在高度线程化的环境中,锁定导致了严重的延迟。 有什么好处和/或陷阱?非
递归
的编码比较难吗?
浏览 0
提问于2014-02-12
得票数 1
回答已采纳
2
回答
如何实现
递归
MRSW
锁
?
c++
、
multithreading
、
synchronization
我的项目需要一个完全
递归
的多读/单写
锁
(共享互斥)-我不同意这样的观点,如果你有完全的常量正确性,你就不应该需要它们(在boost邮件列表上有一些关于这一点的讨论),在我的例子中,
锁
应该保护一个完全透明的缓存至于
递归
MRSW
锁
的语义,我认为唯一有意义的是,除了共享
锁
之外,获取排它
锁
还会暂时释放共享
锁
,当排它
锁
释放时,会重新获取它。有一个有点奇怪的效果,解锁可以等待,但我可以接受这一点--写入很少发生,
递归
锁
浏览 2
提问于2009-08-31
得票数 6
1
回答
只有一个线程可能会导致
Linux
上的程序死锁或冻结?
c++
、
linux
、
multithreading
、
mutex
、
deadlock
我正在做C++多线程编程。我使用互斥来读写一个队列,以避免死锁。目前,我只启动了1个线程但是,在GDB中,我的代码在这里被冻结了,它是挂起的。谢谢
浏览 2
提问于2011-11-06
得票数 4
回答已采纳
1
回答
用FSU Pthread实现
递归
互斥
recursion
、
pthreads
、
mutex
、
recursive-mutex
我想知道佛罗里达州立大学的pthread标准实现是否能够处理
递归
互斥
锁
。不幸的是,关于FSU实现的文档相当糟糕,并且没有提到将互斥
锁
声明为
递归
的可能性。尝试声明互斥
锁
,如下所示:pthread_mutexattr_init (&mutex_attr);我应该得出结论,没有
浏览 6
提问于2010-11-18
得票数 1
回答已采纳
8
回答
什么时候使用
递归
互斥?
c++
、
multithreading
、
recursion
、
mutex
、
recursive-mutex
我知道
递归
互斥允许互斥被多次锁定而不会导致死锁,并且应该解锁相同的次数。但是,在哪些特定情况下,需要使用
递归
互斥?我正在寻找设计/代码级别的情况。
浏览 11
提问于2010-03-10
得票数 68
回答已采纳
3
回答
foreach中奇怪的lock()行为
c#
、
multithreading
我在一个类和一个
锁
中有两个函数List<string> temp = new List<string>(); Func1(string)
浏览 6
提问于2009-02-19
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程 读写锁rwlock
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
递归函数
函数的递归
【精通内核】Linux内核rcu(顺序)锁实现原理与源码解析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券