腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
8
回答
递归锁定(Mutex)与非递归锁定(Mutex)
、
、
、
、
POSIX允许
互斥
锁
是递归的。这意味着同一线程可以锁定同一
互斥
锁
两次,而不会死锁。当然,它还需要解锁两次,否则其他线程都无法获得
互斥
锁
。并不是所有支持pthread的系统都支持递归
互斥
锁
,但如果它们想成为的话。 其他API(更高级的API)通常也提供
互斥
锁
,通常称为
锁
。一些系统/
语言
(例如Cocoa Objective-
C
)同时提供递归和非递归
互
浏览 8
提问于2008-10-09
得票数 195
回答已采纳
1
回答
在接收到来自cond变量的信号后,我们需要解锁
互斥
锁
吗?
、
、
、
我用
C
语言
制作了一个带有
互斥
变量和条件变量的教育应用程序。while (!== 0)) 你能解释一下吗,当信号使
互斥
锁
被锁定时,当信号使
互斥
锁
被锁定时,为什么在“同时”状态之后(以及从第二个线程接收信号)我们需要解锁
互斥
锁
?我从
浏览 1
提问于2018-06-20
得票数 0
回答已采纳
4
回答
JVM是否为每个对象创建
互斥
锁
以实现“synchronized”关键字?如果不是,怎么做?
、
、
、
、
随着
C
++程序员越来越熟悉Java
语言
,在没有声明对象支持这种锁定的情况下,看到对任意对象的锁定的
语言
级支持对我来说有点奇怪。自动选择为每个对象创建
互斥
锁
似乎是一项沉重的成本。在某些平台上,除了内存使用之外,
互斥
锁
还是一种操作系统受限的资源。如果
互斥
锁
不可用,但其性能特征明显不同,我认为这会损害可预测性,那么您可以旋转
锁
。JVM是否在所有情况下都足够智能,能够识别出某个特定对象永远不会成为synchronized关键
浏览 0
提问于2009-12-14
得票数 19
回答已采纳
3
回答
进程间
互斥
锁
的使用
、
、
、
、
操作系统: Windows
语言
:
C
/
C
++ 该设计要求跨进程及其子进程使用
互斥
变量。如果我在一个进程中创建
互斥
锁
,我必须在另一个进程中打开
互斥
锁
来检查临界区的可用性。要打开
互斥
锁
,我需要知道在父进程中创建的
互斥
锁
的名称。假设,如果我保留
互斥
锁
作为我的应用程序名。我可以知道
互斥
锁
的名称,因为它是固定的
浏览 3
提问于2011-03-16
得票数 3
回答已采纳
6
回答
锁定和解锁的
互斥
锁
有多高的效率?
互斥
物的费用是多少?
、
、
、
在一种低级
语言
(
C
、
C
++或其他
语言
)中:我可以选择要么拥有一堆
互斥
(比如线程提供给我的或者本地系统库提供的任何内容),要么为对象提供一个单一的
互斥
。一个
互斥
物要多少钱?有很多
互斥
的是个问题吗?或者,我可以在代码中抛出与int变量一样多的
互斥
变量,这并不重要吗?关键
浏览 16
提问于2010-09-06
得票数 196
回答已采纳
1
回答
Java Lock是
C
中的PThread_Mutex吗?
、
、
我用
C
和Java编写了完全相同的程序,其中有两个线程递增全局计数器。在
C
中,为了确保对计数器的独占性访问,而在Java synchronized(lock)中,则使用pthread_mutex_t 1 #include <stdio.h> 37 i++; 39 }所以基本上Java的
锁
就是
浏览 2
提问于2020-05-05
得票数 0
2
回答
C
在幕后用
互斥
锁
处理STDIN吗?
、
、
、
、
Rust标准库使用
互斥
体保护stdin。(如果没有
互斥
锁
,两个线程试图同时从stdin读取将导致未定义的行为。
C
有同样的问题,并以同样的方式解决:所有
C
标准输入和输出函数都在幕后获得一个
锁
。唯一的区别是,在Rust中,
锁
是API的一部分。) 如果
C
中的两个线程使用stdio.h,那么在后台是否有“
互斥
”来处理文件句柄上的争论?我一直认为这是你必须在
C
语言
中明确做的事情,而不是为你做的事情。此外
浏览 3
提问于2021-08-01
得票数 1
2
回答
互斥
到只读变量
、
、
语言
是
C
,我的应用程序有多个线程。我有一个整数数组,它的值可以改变,我有
互斥
来读写它的值。但是由于数组的基地址(如&arr)永远不变,我是否需要一个
互斥
锁
来读取这个值(数组的基地址)?line*ptr = 2;ptr++; // and this line 我需要一个
互斥
锁
来做这件事吗
浏览 1
提问于2013-05-03
得票数 0
1
回答
访问共享内存进行读取时锁定
、
、
如果我只读访问共享内存,检查if()块的条件,我应该仍然锁定
互斥
锁
吗?例如。
浏览 0
提问于2013-04-01
得票数 4
回答已采纳
1
回答
如何在多线程进程中锁定矩阵单元
、
在本例中,我只使用了一个
互斥
锁
。它可以工作,但我不认为我在这种方法中受益于整个多线程支持。 在第二种方法中,我不知道如何实现8个相邻位置锁定或锁定线程想要去的目标位置。我是否应该使用多个
互斥
量,比如整个网格的
互斥
量数组?也就是说,如果我的数组是10*10,我需要使用100个
互斥
锁
并锁定其中的8个,当一个线程想要执行它的工作时,为每个线程释放其中的8个
互斥
锁
。另外,我不确定锁定8个
互斥
锁
是否是原子的。也许我可以使用另一
浏览 0
提问于2018-04-22
得票数 1
1
回答
C
/
C
++和其他
语言
中的条件变量使用模式
、
、
、
如果你查看描述条件变量( cv )用法的文档,你会发现,例如在PThreads和
C
++中,你不需要持有cv的
互斥
锁
来在这个cv上调用notify。然而,例如在Java和Python中,您必须锁定
互斥
锁
才能做同样的事情。考虑到像Java这样的
语言
的实现最终会使用一些本机线程工具,是不是有一些深层次的原因使事情以这种方式实现(我是关于后一种情况)?
浏览 1
提问于2015-09-12
得票数 5
1
回答
多线程澄清
、
如果您想保护一些东西,比如向量std::vector<double> data,不让线程同时访问,您将使用
互斥
锁
。mutex的变量将被声明为全局变量,以便它们可以访问线程函数(或者,如果您创建的类将是多线程的,则可以将
互斥
对象声明为该类的私有/公共变量)。之后,您可以使用
互斥
锁
和解锁线程。access a global variable data.push_back(3.23); // Conti
浏览 5
提问于2013-10-16
得票数 0
回答已采纳
2
回答
条件变量与
C
++标准中的
互斥
、
我不明白条件变量和
互斥
锁
之间的区别。在我看来,它的描述还不够清楚。 有人可以独立于任何编程
语言
来解释它吗?以及特定于
C
++的std解释?
浏览 1
提问于2019-09-30
得票数 4
2
回答
如何将
互斥
锁
和解锁特定的条件下,如果-否则的梯子?
、
我知道范围
锁
和
互斥
,但我想不出在这种情况下可以使用它的方式。问题是: 具有
互斥
锁
/解锁语句的,甚至是具有作用域
锁
的
锁
,如何在特定条件下在if-else梯子上实现
锁
/解锁?另外,我希望从
C
++ (可能是03)的角度找到这个解决方案(或者不是从像Java这样的带有隐式
互斥
支持和同步块的
语言
中找到)。提前谢谢你的帮助。
浏览 1
提问于2015-06-28
得票数 7
回答已采纳
1
回答
信号和信号量系统V
、
、
、
、
我用
C
语言
在Unix上编程。Mutex2 -> Lock{ ZONE2Mutex2 -> unLock {{对于每个区域,都有一个
互斥
锁
N个进程执行此代码,因此需要
互斥
锁
来管理关键区域。SIGINT以这种方式处理->信号(SIGINT,handler);{} 如果一个进程在一个临界区中得
浏览 2
提问于2019-10-20
得票数 0
2
回答
在
C
++中进行多线程处理,只检查信号量是否锁定
、
、
、
、
我正试图用
c
++解决我在windows上遇到的一个问题。当Z运行时,我试图使用
互斥
锁
来阻止A运行,但是我发现即使Z没有运行,也没有因为这个
互斥
体而并发运行。因此,我的问题是,在
C
++中是否有一种方法允许我检查
互斥
锁
是
浏览 3
提问于2014-07-24
得票数 3
回答已采纳
1
回答
我想检查正确的
互斥
锁
= data;unlock(empty); }有多少
互斥
锁在使用中?我认为pthread_mutex_t为空、
互斥
、满;这里使用了三个
互斥
。我对此一无所知。
互斥
锁
的初始状态是什么?下面是
互斥
锁
的另一个例子while(1) { if (
浏览 0
提问于2016-04-05
得票数 0
2
回答
有没有理由将
C
++ 11+ std::mutex声明为全局变量,而不是作为函数参数传递给std::thread?
、
、
、
、
我见过大多数使用std::mutex的例子,其中
互斥
量是全局的。我想知道这样做有什么特别的原因吗?在我自己的程序中,我没有这样做,只是简单地将
互斥
锁
作为std::thread std::ref传入。如果没有
语言
限制的原因,那么在
C
++中全局std::mutexes背后的理性是什么?
浏览 34
提问于2017-07-06
得票数 13
2
回答
在pthread_mutex_t中存储指针
、
我正在做一个用
C
语言
编写的项目,该项目涉及到通过覆盖pthread.h来创建用户级线程库。我目前正在研究
互斥
函数。 在我的实现中,我将
互斥
锁
存储为结构的链表。我想在pthread_mutex_init中做的是将指向新创建的
互斥
锁
元素的指针存储在pthread_mutex_t
互斥
锁
变量中。不过,这有可能吗?
浏览 0
提问于2012-04-18
得票数 1
回答已采纳
1
回答
在锁定时释放持有
互斥
的对象
、
、
、
我遇到了存储在实例中的
互斥
对象的问题。(&t2); trd2.join(); return 0;我想要的是,一旦test被删除,并且使用它,
互斥
引用(使用实例的
互斥
是很重要的) 在测试时,我还尝试用一个shared_mutex替换shared_timed_mutex。令我惊讶的是,它在t1()的末尾造成了崩溃。为什么会这样呢?
浏览 2
提问于2016-10-13
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Go语言互斥锁
图解Go里面的互斥锁mutex了解编程语言核心实现源码
线程互斥锁Lock与全局解释器锁GIL
互斥锁、自旋锁、读写锁……理清它们的区别和应用
妹妹问我:互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券