腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
关于变性人和信号灯
假设有4个线程(T1到T4)需要并发运行,3个
结构
(Struct1到Struct3)作为资源T2 toT3共享struct2 (通过T2写入struct2和从struct2读取T3 )由于Bjarne的
C
++编程
语言
(第4版)第41.2.4节中的这一说法: 如果两个线程都可以同时访问一个内存位置,并且它们至少有一个访问是写的,那么两个线程都有一个
浏览 5
提问于2015-10-24
得票数 2
6
回答
锁定和解锁的
互斥
锁有多高的效率?
互斥
物的费用是多少?
、
、
、
在一种低级
语言
(
C
、
C
++或其他
语言
)中:我可以
选择
要么拥有一堆
互斥
(比如线程提供给我的或者本地系统库提供的任何内容),要么为对象提供一个单一的
互斥
。一个
互斥
物要多少钱?有很多
互斥
的是个问题吗?或者,我可以在代码中抛出与int变量一样多的
互斥
变量,这并不重要吗?关键是,通过使用多个<
浏览 16
提问于2010-09-06
得票数 196
回答已采纳
4
回答
在
C
中有监视器吗?
、
、
、
我知道监视器是高级
语言
构造。这让我想知道
C
是否提供了类似monitor的东西?也许包含POSIX线程实现的库也应该提供监视器构造。另外,
C
中的线程不是stl的一部分,对吧?我想知道,
C
结构
模拟监视器数据类型吗? 谢谢,
浏览 0
提问于2011-06-04
得票数 7
回答已采纳
4
回答
JVM是否为每个对象创建
互斥
锁以实现“synchronized”关键字?如果不是,怎么做?
、
、
、
、
随着
C
++程序员越来越熟悉Java
语言
,在没有声明对象支持这种锁定的情况下,看到对任意对象的锁定的
语言
级支持对我来说有点奇怪。自动
选择
为每个对象创建
互斥
锁似乎是一项沉重的成本。在某些平台上,除了内存使用之外,
互斥
锁还是一种操作系统受限的资源。如果
互斥
锁不可用,但其性能特征明显不同,我认为这会损害可预测性,那么您可以旋转锁。JVM是否在所有情况下都足够智能,能够识别出某个特定对象永远不会成为synchronized关键字的目标,从而避免创建
互斥
锁?<em
浏览 0
提问于2009-12-14
得票数 19
回答已采纳
2
回答
处理并发读取?
、
如果我将从多个线程访问一个变量,但只读取该值(它不是常量的唯一原因是因为我需要在运行时设置它),那么是否需要一个
互斥
变量呢?或者,您只需要担心在也有写到共享资源时的争用条件?
浏览 6
提问于2014-03-15
得票数 2
回答已采纳
2
回答
在主机应用程序和dll中使用相同的
互斥
对象
、
在主机应用程序和dll之间是我自己的SDK,它的目的是支持与dll插件(库接口)的通信,并定义主机应用程序和dll(数据
结构
等)之间的共享资源。主机应用程序正在创建一个具有WinAPI函数CreateMutex的
互斥
对象,并将创建的
互斥
对象的THandle传递给我加载的每个dll。当DLL中的线程更改公共资源时,它使用
互斥
锁来保护它。正如我所说的,我使用WinAPI.Windows单元来调用CreateMutex和所有其他与
互斥
相关的函数(发布等)。一种
选择
是将TMutex传递给我的DL
浏览 0
提问于2015-03-08
得票数 1
回答已采纳
1
回答
为什么不推荐生成
互斥
实现?
、
、
、
、
在实现
互斥
对象时,有几种体系
结构
选择
,例如, 为什么屈服
互斥
最不可取?
浏览 1
提问于2013-09-05
得票数 3
回答已采纳
2
回答
如何在
C
#中执行类似MultiThread的Java或Qt编程
、
、
、
而Java、Qt或ACE
语言
中的多线程概念都有共同的
结构
,它们提供了一个通用的接口来实现,如void run()方法、
互斥
锁、信号量等。 而且
C
#有一些多线程的工具。但是,如果像我这样的开发人员想要使用所谓的
结构
,他/她应该怎么做?有没有什么图书馆之类的?
浏览 0
提问于2012-04-02
得票数 0
1
回答
多线程澄清
、
如果您想保护一些东西,比如向量std::vector<double> data,不让线程同时访问,您将使用
互斥
锁。mutex的变量将被声明为全局变量,以便它们可以访问线程函数(或者,如果您创建的类将是多线程的,则可以将
互斥
对象声明为该类的私有/公共变量)。之后,您可以使用
互斥
锁和解锁线程。access a global variable data.push_back(3.23); // Continue在这段代码中,当
浏览 5
提问于2013-10-16
得票数 0
回答已采纳
1
回答
POSIX条件变量&
互斥
“竞争”
、
、
、
、
当线程等待条件变量时,关联的
互斥
体(原子地)被释放(解锁)。当该条件变量被信号(由不同的线程发出)时,一个(用于信号)或所有(用于广播)等待线程被唤醒,自动重新获取(锁定)
互斥
对象。是等待条件变量的线程在其他线程获得(锁定)
互斥
之前保证唤醒(从而获得
互斥
),还是其他线程在等待条件变量之前获得(锁定)
互斥
对象? 注意:为了清晰起见,下面的示例进行了简化。Thread_B并没有真正启动Thread_
C
,但是在Thread_B获得
互斥
之后才保证Thread_
C</em
浏览 6
提问于2019-09-27
得票数 3
回答已采纳
1
回答
glib在
C
++上的GAsyncQueue等价物?
、
、
、
有一个名为GAsyncQueue的数据
结构
,它允许线程间的通信,而不需要信号量/锁等,甚至可以使实现生产者/消费者解决方案的任务变得微不足道。如果两个不同的线程将数据推送到GAsyncQueue
结构
,push函数将在内部实现对队列的
互斥
访问;更神奇的是,如果一个线程调用pop函数,但其中没有数据,则调用线程将阻塞,直到其他线程将一些数据推送到队列中尽管我非常喜欢它,但这个库是为
C
语言
构建的,并且可能有更好的高级
语言
替代方案。我正在考虑使用glib,但在
C</e
浏览 0
提问于2013-02-28
得票数 4
回答已采纳
3
回答
在不支持操作系统的情况下,是否可以执行线程的
互斥
?
、
我想您可以调整分布式
互斥
算法(Ricart/Agrawala等),但是除了这些更奇特的方法之外,是否需要使用操作系统提供的原语来实现
互斥
呢?例如,在
C
#中,您将使用一些类似于lock的内容:{} 接着,Lock使用操作系统提供的条件变量(我认为?)。
浏览 0
提问于2014-02-13
得票数 1
回答已采纳
2
回答
在pthread_mutex_t中存储指针
、
我正在做一个用
C
语言
编写的项目,该项目涉及到通过覆盖pthread.h来创建用户级线程库。我目前正在研究
互斥
函数。 在我的实现中,我将
互斥
锁存储为
结构
的链表。我想在pthread_mutex_init中做的是将指向新创建的
互斥
锁元素的指针存储在pthread_mutex_t
互斥
锁变量中。不过,这有可能吗?
浏览 0
提问于2012-04-18
得票数 1
回答已采纳
1
回答
标准cpp数据
结构
和线程
互斥
?
、
在其中一个项目中,我正在从事从
C
迁移到
C
++的工作。许多
C
代码使用与此库相关联的线程和
互斥
线程进行多线程处理。我想可能一步一步地执行增量迁移。我想从数据
结构
开始,因为它们是最明显的,但是它们需要使用p线程
互斥
体进行同步。使用线程
互斥
锁是安全的,还是只有标准库线程基础
结构
(如std::mutex)才能保证适当的内存线程间内存一致性?
浏览 2
提问于2019-11-27
得票数 0
回答已采纳
1
回答
访问共享内存进行读取时锁定
、
、
如果我只读访问共享内存,检查if()块的条件,我应该仍然锁定
互斥
锁吗?例如。
浏览 0
提问于2013-04-01
得票数 4
回答已采纳
1
回答
在接收到来自cond变量的信号后,我们需要解锁
互斥
锁吗?
、
、
、
我用
C
语言
制作了一个带有
互斥
变量和条件变量的教育应用程序。while (!== 0)) 你能解释一下吗,当信号使
互斥
锁被锁定时,当信号使
互斥
锁被锁定时,为什么在“同时”状态之后(以及从第二个线程接收信号)我们需要解锁
互斥
锁?我从网络上获得了很多例子,但是当我想在接收到信号后使用<e
浏览 1
提问于2018-06-20
得票数 0
回答已采纳
2
回答
C
中的同步对象及其与数据
结构
结构
的关联
、
、
、
、
我用
C
语言
编写了一些数据
结构
,比如线程池使用的任务队列。它与
互斥
对象和条件变量对象同步。);但是现在我认为这种方法是错误的,因为当我用task_queue_init()在我的程序中创建几个task_queue
结构
实例时我的问题是确保我自己正在计划以正确的方式这样做,即将这个同步对象始终放在这个struct task_queue中,或者其他同步数据
结构
结构
中,如下所示: struct task
浏览 7
提问于2016-08-10
得票数 0
8
回答
递归锁定(Mutex)与非递归锁定(Mutex)
、
、
、
、
POSIX允许
互斥
锁是递归的。这意味着同一线程可以锁定同一
互斥
锁两次,而不会死锁。当然,它还需要解锁两次,否则其他线程都无法获得
互斥
锁。一些系统/
语言
(例如Cocoa Objective-
C
)同时提供递归和非递归
互斥
锁。有些
语言
也只提供一种或另一种。例如,在Java中,
互斥
锁总是递归的(同一个线程可以在同一个对象上“同步”两次)。根据它们提供的其他线程功能,没有递归
互斥
锁可能没有问题,因为它们可以很容易地自己编写(我已经在更
浏览 8
提问于2008-10-09
得票数 195
回答已采纳
1
回答
锈蚀中的近似并发计数器
、
我正在阅读OS:三个简单的部分的第29章,它是关于并发数据
结构
的。第一个例子是一个近似计数器。此数据
结构
通过使用全局
互斥
和几个具有本地计数器的本地
互斥
来增加数字。当本地计数器命中阈值时,它获取全局
互斥
对象并将其本地计数器编号刷新到全局计数器。 本章展示了
C
语言
的代码。由于我正在练习Rust
语言
,所以我用Rust实现了并发数据
结构
。因为
互斥
在最初的
C
代码中使用,所以我在锈蚀代码中使用
互斥</e
浏览 0
提问于2022-10-11
得票数 4
回答已采纳
3
回答
进程间
互斥
锁的使用
、
、
、
、
操作系统: Windows
语言
:
C
/
C
++ 该设计要求跨进程及其子进程使用
互斥
变量。如果我在一个进程中创建
互斥
锁,我必须在另一个进程中打开
互斥
锁来检查临界区的可用性。要打开
互斥
锁,我需要知道在父进程中创建的
互斥
锁的名称。假设,如果我保留
互斥
锁作为我的应用程序名。我可以知道
互斥
锁的名称,因为它是固定的。但是,如果我并行加载应用程序的第二个实例,就会出现混乱。我有一个想法,将父进程中的
互斥
命
浏览 3
提问于2011-03-16
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C语言结构体
C语言的结构体
C语言程序结构
C语言——数据结构
怎么学好C语言数据结构?
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券