腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何检查pthread_mutex是否基于健壮的futex
、
、
、
我试图在
Linux
中使用基于鲁棒futex的线程
互斥
锁
,因为我需要快速和健壮(恢复“死”
锁
)。如何检查任何
Linux
系统上的线程
互斥
库是否基于健壮的futex? 谢谢!
浏览 6
提问于2013-07-02
得票数 1
2
回答
pthread_mutex_unlock如何区分线程?
、
、
、
、
只有
互斥
锁
的所有者才能解锁。但是
互斥
锁
如何区分锁定它的线程呢?在
Linux
中,线程有什么不同的特性吗?
浏览 1
提问于2015-02-10
得票数 0
回答已采纳
3
回答
静态和动态pthread
互斥
初始化
、
、
、
、
我正在阅读“高级
Linux
编程”这本书。可以使用init函数动态初始化
互斥
: pthread_mutex_init(&theMutex, NULL);
互斥
锁
可以通过宏静态初始化)“,
互斥
锁
将在堆区域创建,因此我们必须手动删除它。但是,如果我们静态地创建
互斥
锁
,其效果将等同于通过调用pthread_mutex_init()并将参数attr指定为NULL来进行动态初始化,只是不执行任何错
浏览 1
提问于2013-11-28
得票数 1
3
回答
线程使用锁定的
互斥
锁
崩溃
、
、
有一种情况,我有两个线程都在使用相同的
互斥
量。一个线程锁定
互斥
锁
并崩溃。
互斥
状态是什么?它是否仍然被锁定,并且第二个线程永远不会拥有该
互斥
锁
?意味着死锁的情况?编辑-还解释了
Linux
系统上pthread的一个案例
浏览 1
提问于2010-07-02
得票数 5
回答已采纳
1
回答
一个线程获取一个信号量,而另一个线程释放它的有效用例是什么?
、
Linux
信号量和
互斥
锁
之间的区别在于
互斥
锁
可以由锁定它的线程解锁。但是,一个线程锁定和另一个线程解锁的用例是什么呢?
浏览 2
提问于2017-06-05
得票数 0
2
回答
等同于Mac OS X中Windows的命名
互斥
?
、
、
、
、
在Windows中,全局名为
互斥
锁
的进程中有一个被放弃的状态,这意味着
互斥
锁
的当前所有者进程在没有释放
互斥
锁
的情况下已经消失。(它可能是由应用程序崩溃引起的)如果没有放弃状态,它将永远等待一个不属于任何人的
互斥
锁
。还有另一种方法,使用超时来假设如果在一段时间内无法获得
互斥
锁
就放弃该
互斥
锁
,
浏览 5
提问于2014-05-29
得票数 7
3
回答
用C/C++命名进程内部
互斥
锁
?
、
、
、
、
是否有使用C/C++ (在Unix/
Linux
中)实现命名进程内部
互斥
锁
的方法?如果您使用内存映射文件或共享内存,您将获得文件系统持久性... 有什么想法吗?
浏览 0
提问于2011-09-24
得票数 0
1
回答
这是glibc/p线程中的一个bug吗?
、
、
我不能把这个简化为一个小的、可重复的例子,我认为这很可能是我的代码中的一个问题,然而,我
注意
到了一些看起来可疑的东西:#0/sysdeps/unix/sysv/
linux
/x86_64/pthread_cond_broadcast.S:133如
浏览 0
提问于2018-08-07
得票数 2
1
回答
在尝试mutex_lock时被阻塞的线程如何知道
锁
是由另一个线程释放的?
、
、
、
在
Linux
中,我有这样一个场景:两个线程执行一个临界区,一个线程获取
锁
(线程A),另一个线程(线程B)等待
锁
。稍后,threadA释放
互斥
锁
。我正在尝试理解如何将threadB移动到运行状态并获取
锁
?threadB(或操作系统)如何知道
锁
是由threadA释放的? 我有一个理论,如果我错了,请纠正。threadB进入等待( TASK_INTERRUPTABLE )状态(在
互斥
锁
被阻塞,因此处于等待状态),当threadA解锁
浏览 76
提问于2020-12-30
得票数 0
2
回答
glibc/NPTL/
Linux
健壮
互斥
中的竞争条件?
、
、
在2010年关于问题的评论中,jilles声称: glibc强大的
互斥
量之所以如此之快,是因为glibc采用了危险的捷径。当内核将
互斥
锁
标记为“将导致EOWNERDEAD”时,不能保证
互斥
锁
仍然存在。如果
互斥
锁
被销毁,内存被替换为内存映射文件,该文件恰好在正确的位置包含最后一个拥有线程的ID,并且最后一个拥有线程在写入
锁
字之后(但在从拥有
互斥
锁
的列表中完全删除
互斥
锁
之前)终止,则
浏览 8
提问于2012-08-14
得票数 16
回答已采纳
1
回答
pthread_mutex_t可以在内存中移动吗?
、
我想构建一个动态的pthread_mutex错位数组,它将随着时间的推移而增长(添加更多
互斥
锁
)。我的问题是,如果使用realloc()移动数组,它们是否仍然有效。我担心的是,pthread_mutex_init()可能会以某种方式设置依赖于
互斥
量地址的内部信息。如果结论是不这样做,那么我想知道,一般来说,我如何创建越来越多的
互斥
锁
。
浏览 2
提问于2013-01-31
得票数 7
1
回答
如何保证每个线程平均共享
互斥
?
我试图找出如何确保每个线程(
Linux
中的POSIX线程)平均进入一个
互斥
锁
。 在我的程序中,有一个全局队列,它有自己的
互斥
锁
。几个写线程一次向队列中写入一个元素,一个读线程每次从队列中读出一组元素。所以我的问题是如何确保每个线程平均访问
互斥
锁
。任何意见,我们将不胜感激!
浏览 2
提问于2012-03-20
得票数 1
2
回答
为什么pthread_mutex在Mac上的性能比
Linux
差?
、
、
、
、
我现在正在学习多线程编程,我
注意
到在Mac上使用
互斥
锁
实现同步的程序非常慢,在某种程度上,使用单线程通常更好。我知道有更快的同步方法,但我仍然想知道为什么会这样。此外,当使用其他
锁
时,例如旋转
锁
,差异永远不会这么大。补充:我遗漏了一些东西。我还分别比较了每个操作系统上的自旋
锁
和
互斥
。在
Linux
上,自旋
锁
比有大量线程的
互斥
锁
慢得多,而
浏览 2
提问于2015-11-30
得票数 1
1
回答
在内核开发中,有类似于
互斥
对象的down_interruptible()函数吗?
、
、
、
、
在“
Linux
设备驱动程序第三版”一书中,
互斥
通过init_MUTEX(sem)通过信号量实现。然而,较新的内核,如内核3.2.X,已经删除了这个函数,并添加了
互斥
对象的支持。但当我遇到密码时: return -ERESTARTSYS; 我不能确定这个
互斥
方法是否有对应的。换句话说,我如何才能中断对特定
互斥
对象的等待?
浏览 5
提问于2015-01-15
得票数 1
回答已采纳
2
回答
malloc如何在多线程环境中工作?
、
、
、
、
典型的malloc (对于x86-64平台和
Linux
)是在开始时天真地锁定
互斥
锁
并在完成后释放它,还是在更精细的级别上以一种更聪明的方式锁定
互斥
锁
,从而减少
锁
争用?
浏览 0
提问于2012-05-23
得票数 55
回答已采纳
1
回答
互斥
锁
会在任何时候阻塞所有线程吗?
、
、
在
Linux
中,假设我有100个线程的代码。这些线程中有5个竞争由
互斥
锁
保护的共享资源。我知道当临界区实际运行时,如果5个线程试图获得
锁
,则只有5个线程会停止执行,而其他95个线程将正常运行。我的问题是,是否存在其他95个线程的执行将暂停或受影响的时间点,即
互斥
量/内核/什么决定哪些线程在
互斥
量上被阻塞,哪个线程应该获得
锁
,以及哪些线程应该能够运行,因为它们没有请求
锁
,等等
浏览 5
提问于2013-03-29
得票数 1
回答已采纳
1
回答
只有一个线程可能会导致
Linux
上的程序死锁或冻结?
、
、
、
、
我使用
互斥
来读写一个队列,以避免死锁。目前,我只启动了1个线程但是,在GDB中,我的代码在这里被冻结了,它是挂起的。 为什么?
浏览 2
提问于2011-11-06
得票数 4
回答已采纳
3
回答
互斥
锁
需要很长时间才能解锁
、
pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex);}while(1) waitForUserInput(); // blocking call to
linux
input pthread_mu
浏览 1
提问于2010-05-19
得票数 4
回答已采纳
1
回答
如何在
Linux
上通过静态库同步进程?
、
、
现在,假设我想使用pthread
互斥
锁
,我该如何实现呢?进程如何知道哪个是存储
互斥
锁
的共享内存区?谁应该需要这个内存区呢?服务器不能,因为它需要库本身来提供
互斥
。
浏览 0
提问于2011-09-07
得票数 1
回答已采纳
2
回答
有人能帮我替换块设备驱动程序上的"lock_kernel“吗?
、
、
我
注意
到,在
Linux
2.6.37中,lock_kernel()似乎不受欢迎。我阅读了“ioctl()的新方法”,发现设备驱动程序现在应该在操作之前执行特定的
锁
。/spinlock.h> // spinklock_t#include <asm/atomic.h>// atomic #include <
浏览 4
提问于2011-05-10
得票数 6
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux驱动必学知识点-内核互斥锁
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Go语言互斥锁
线程互斥锁Lock与全局解释器锁GIL
互斥锁、自旋锁、读写锁……理清它们的区别和应用
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券