腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
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
回答已采纳
1
回答
一个
线程
获取一个信号量,而另一个
线程
释放它的有效用例是什么?
、
Linux
信号量和
互斥
锁
之间的区别在于
互斥
锁
可以由锁定它的
线程
解锁。但是,一个
线程
锁定和另一个
线程
解锁的用例是什么呢?
浏览 2
提问于2017-06-05
得票数 0
1
回答
在尝试mutex_lock时被阻塞的
线程
如何知道
锁
是由另一个
线程
释放的?
、
、
、
在
Linux
中,我有这样一个场景:两个
线程
执行一个临界区,一个
线程
获取
锁
(
线程
A),另一个
线程
(
线程
B)等待
锁
。稍后,threadA释放
互斥
锁
。我正在尝试理解如何将threadB移动到运行状态并获取
锁
?threadB(或操作系统)如何知道
锁
是由threadA释放的? 我有一个理论,如果我错了,请纠正。threadB进入等待( TASK_INTERRUPTABLE )状态(在
浏览 76
提问于2020-12-30
得票数 0
3
回答
线程
使用锁定的
互斥
锁
崩溃
、
、
有一种情况,我有两个
线程
都在使用相同的
互斥
量。一个
线程
锁定
互斥
锁
并崩溃。
互斥
状态是什么?它是否仍然被锁定,并且第二个
线程
永远不会拥有该
互斥
锁
?意味着死锁的情况?编辑-还解释了
Linux
系统上pthread的一个案例
浏览 1
提问于2010-07-02
得票数 5
回答已采纳
1
回答
互斥
锁
会在任何时候阻塞所有
线程
吗?
、
、
在
Linux
中,假设我有100个
线程
的代码。这些
线程
中有5个竞争由
互斥
锁
保护的共享资源。我知道当临界区实际运行时,如果5个
线程
试图获得
锁
,则只有5个
线程
会停止执行,而其他95个
线程
将正常运行。我的问题是,是否存在其他95个
线程
的执行将暂停或受影响的时间点,即
互斥
量/内核/什么决定哪些
线程
在
互斥
量上被阻塞,哪个
线程
应该获得<em
浏览 5
提问于2013-03-29
得票数 1
回答已采纳
1
回答
如何保证每个
线程
平均共享
互斥
?
我试图找出如何确保每个
线程
(
Linux
中的POSIX
线程
)平均进入一个
互斥
锁
。 在我的程序中,有一个全局队列,它有自己的
互斥
锁
。几个写
线程
一次向队列中写入一个元素,一个读
线程
每次从队列中读出一组元素。所以我的问题是如何确保每个
线程
平均访问
互斥
锁
。任何意见,我们将不胜感激!
浏览 2
提问于2012-03-20
得票数 1
1
回答
Windows下基于给定优先级的
互斥
量获取
、
我有几个进程需要
通信
,我希望同一时间只能让一个进程与另一个进程对话,例如,如果我有进程A、B、C、D,如果B想要向A发送消息,C不能发送消息,甚至不能向D发送消息。我已经有了
通信
的必需品管道,并且我正在寻找WinAPI中的一个对象来实现排他性行为。 我还需要设置一个优先级,假设C正在向D发送一条消息,A和B都想要传输,当C完成时,我需要能够确保A总是最先发送。
浏览 18
提问于2019-04-02
得票数 0
3
回答
互斥
锁
需要很长时间才能解锁
、
pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex);}while(1) waitForUserInput(); // blocking
浏览 1
提问于2010-05-19
得票数 4
回答已采纳
3
回答
静态和动态pthread
互斥
初始化
、
、
、
、
我正在阅读“高级
Linux
编程”这本书。可以使用init函数动态初始化
互斥
: pthread_mutex_init(&theMutex, NULL);
互斥
锁
可以通过宏静态初始化)“,
互斥
锁
将在堆区域创建,因此我们必须手动删除它。但是,如果我们静态地创建
互斥
锁
,其效果将等同于通过调用pthread_mutex_init()并将参数attr指定为NULL来进行动态初始化,只是不执行任何错
浏览 1
提问于2013-11-28
得票数 1
2
回答
glibc/NPTL/
Linux
健壮
互斥
中的竞争条件?
、
、
在2010年关于问题的评论中,jilles声称: glibc强大的
互斥
量之所以如此之快,是因为glibc采用了危险的捷径。当内核将
互斥
锁
标记为“将导致EOWNERDEAD”时,不能保证
互斥
锁
仍然存在。如果
互斥
锁
被销毁,内存被替换为内存映射文件,该文件恰好在正确的位置包含最后一个拥有
线程
的ID,并且最后一个拥有
线程
在写入
锁
字之后(但在从拥有
互斥
锁
的列表中完全删除
互斥</em
浏览 8
提问于2012-08-14
得票数 16
回答已采纳
2
回答
互斥
访问和系统调用
、
、
、
、
我知道,在
Linux
中,
互斥
被实现为下面的futexes,futex使用比较和交换机制。通常,为了获取
锁
,用户空间
线程
不需要进行系统调用,因为
锁
是在用户空间中解析的。现在,我的问题是,当存在很高的争用和许多
线程
试图同时锁定
互斥
时,会发生什么。那么,是否发生了系统调用,以便内核决定授予
互斥
对象哪个
线程
?尤其是当
线程
优先级不同的时候?我自己也这么认为。
浏览 3
提问于2011-08-15
得票数 11
回答已采纳
1
回答
POSIX共享递归
互斥
锁
、
、
我在
linux
上工作。在我的代码中,我试图运行一些试图锁定递归
互斥
锁
的
线程
(例如2个),但只有一个
线程
可以访问并锁定
互斥
锁
,而第二个
线程
即使在第一个
线程
解锁
互斥
锁
之后也会收到EBUSY错误。我想这是因为
互斥
体是女贞而不是共享的。我尝试将
互斥
锁
设置为RECRUSIVE和SHARED,如下所示:MutexCreate(pthrea
浏览 0
提问于2012-06-28
得票数 0
4
回答
互斥
锁
只能从等待它的同一
线程
中释放吗?
、
、
一个
互斥
锁
真的只能从等待那个
互斥
锁
的
线程
中释放吗?如果是,为什么
互斥
是这样的?那么为什么我们说一个
互斥
锁
可以跨多个进程工作呢?什么是命名
互斥
锁
和未命名
互斥
锁
?我对这个问题真的很困惑!如果我想在一个
线程
中等待
互斥
锁
,并从另一个
线程
发信号给它,我应该怎么做?
浏览 1
提问于2011-06-13
得票数 3
回答已采纳
4
回答
在SerialCommunication C++中使用
互斥
锁
时的多
线程
问题
、
、
、
、
我正在开发一个使用windows函数的串口
通信
软件。在这个CSerialCommhelper中是处理所有串行
通信
功能的类,而CphysicalLayer是一个利用了该类的类。pCSerialCommHelper->m_hPortMutex); } }{else re
浏览 0
提问于2013-06-24
得票数 1
回答已采纳
1
回答
进程调度和
线程
调度的区别。
进程和
线程
的调度有什么不同,
线程
和进程的进程间
通信
的方法有什么不同。IPC的所有机制,如信号量、
互斥
、自旋
锁
等,是否都可以应用于进程和
线程
的调度?
浏览 2
提问于2012-01-28
得票数 1
1
回答
当
互斥
锁
还不够的时候?
、
我知道多
线程
编程应该很难。但事情似乎找到了一种奇怪的破坏方式。例如,我有多个
线程
更改控制台的颜色并将其写入控制台(这是一个错误日志)。有两个问题: 当我在更改控制台颜色并写入控制台的部分中添加
互斥
锁
时,它帮助处理了被干扰的文本(自从
互斥
锁
之后还没有看到),但是控制台的颜色仍然是错误的所以它看起来一个
互斥
是不够的!我现在在想,我需要一个队列,一个
线程
等待该队列,并在其中有内容时将其刷
浏览 1
提问于2011-06-05
得票数 0
1
回答
只有一个
线程
可能会导致
Linux
上的程序死锁或冻结?
、
、
、
、
我正在做C++多
线程
编程。我使用
互斥
来读写一个队列,以避免死锁。目前,我只启动了1个
线程
但是,在GDB中,我的代码在这里被冻结了,它是挂起的。谢谢
浏览 2
提问于2011-11-06
得票数 4
回答已采纳
1
回答
Linux
互斥
优先级继承
、
我正在使用
Linux
互斥
锁
来保护多
线程
应用程序中的共享数据。为了防止优先级反转,我使用了PTHREAD_PRIO_INHERIT协议()。我的系统有三个
线程
:
线程
2:与
线程
1具有相同的优先级。没有访问共享数据。假设
线程
1是先创建并运行的,然后它将锁定共享数据。
线程
3
浏览 9
提问于2016-06-01
得票数 2
1
回答
在FreeBSD/Mac中如何从Mutex对象获得
线程
ID
、
、
、
、
我试图获得
线程
ID,它调用Mac中
互斥
对象的
锁
。但是Mac中的
互斥
对象似乎没有
互斥
对象的主
线程
id。在
Linux
中定义pthread_mutex_t:{ { unsignedopaque_pthread_mutex_t long __sig;}
浏览 3
提问于2014-05-27
得票数 7
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
线程互斥锁Lock与全局解释器锁GIL
Linux驱动必学知识点-内核互斥锁
浅谈互斥锁与进程间的通信(举例说明)
Go语言互斥锁
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券