mutex 相关问题

互斥(“互斥”)是一种在多个线程同时访问(特别是更改)相同数据或资源时确保完整性的机制。

为什么当我调用lock()时std::mutex会抛出异常?

如果我创建一个简单的程序,例如...... #包括 std::互斥体 gMutex; int main() { gMutex.lock(); gMutex.unlock(); 返回0; } ...代码执行没有问题。 然而...

回答 2 投票 0

如何仅使用 pthread 互斥体来同步多个线程?

我试图创建三个线程,每个线程打开一个不同的输入文件,从中读取单个字符并将其设置为全局变量,然后等待下一个线程读取单个字符...

回答 1 投票 0

使用条件变量的正确方法是什么?

我的作业提供了运行时使用大量 CPU 的代码。目标是通过在生产者消费者问题中实施条件变量来减少该数量。 我

回答 1 投票 0

.Net Framework 4.7.2 的安全读/写锁定机制

在我们的 .Net Framework 4.7.2 Web 应用程序中,我们需要允许多个线程同时读取文件,但前提是当前未写入文件,并且当文件正在写入时

回答 1 投票 0

以2种方法同步2个互斥体

我有两种方法 TIC 和 TAC,它们只输出“TIC”或“TAC”。我的目标是创建 TIC 和 TAC 的多个线程之后。结果会依次输出:TIC, TAC...

回答 1 投票 0

哪些条件变量可以做而unlock+yield不能做?

在 POSIX 中,要求当对条件变量和互斥体调用等待时,两个操作 - 解锁互斥体和阻塞线程,以原子方式执行,这样...

回答 1 投票 0

允许远程桌面用户访问全局 Windows 互斥体

我的环境: 安装有远程桌面服务的 Windows Server 2012 R2。 用C编程 问题: 用户 U1 通过 RDP 连接到 Windows Server 并创建全局互斥体 (创造...

回答 1 投票 0

使用互斥锁保护的对象

我想实现一个惰性静态reqwest::ClientBuilder。注意,这是针对实用程序模块的,因此我有一种感觉,在这种情况下很难避免使用静态。我想构建一次,...

回答 1 投票 0

如何实现一个线程安全函数,该函数使用键从共享哈希表中读取数据并在多线程环境中更新值?

假设我们有一些函数,它接受一个键,从共享哈希表中检索其值,并对它执行一些操作以获得新值,然后用这个新值更新哈希表

回答 1 投票 0

以线程安全的方式获取嵌套rwlock?

我正在以线程安全的方式管理一些每个客户的数据,如下所示: customer_id_to_data:弧>>>> 非常重要...

回答 1 投票 0

什么时候应该使用 std::atomic 而不是 std::mutex?

在How to use std::atomic<>这个问题中,显然我们可以使用std::mutex来保证线程安全。我想知道什么时候使用哪一个。 结构体A { std::atomic x{0}; 沃伊...

回答 1 投票 0

std::atomic<std::shared_ptr<Struct Demo>> 是否可以安全地与 C++11 一起使用,因为所述部分特化仅适用于 C++20?

根据文件,[强调我的]: 定义在头文件中 模板< class T > 结构原子; 模板< class U > 结构原子; (自 C++11 起) 定义在头文件中

回答 1 投票 0

如何锁定兄弟姐妹以防止竞争情况

型号: 班级清单 has_many :清单项目 结尾 类清单项目 属于:清单 after_save :update_checklist_completion def update_checklist_completion 如果是兄弟姐妹的话。

回答 1 投票 0

std::lock_guard 未按预期锁定互斥体

在以下示例中,func 应该挂起,因为它尝试在 main 之后获取锁: 使用命名空间 std; #包括 #包括 #包括 std::互斥体

回答 1 投票 0

错误 C2760 语法错误:意外标记 ')'。预期的 ';'当您尝试使用互斥体库时[关闭]

#pragma 一次 ## 这里我们包含保存scoped_lock 的库## #包括 命名空间 olc { 命名空间网 { 模板 队列类 { 公开...

回答 1 投票 0

错误 C2760 语法错误:意外标记“)”。预期的 ';'如何解决这个问题

#pragma 一次 #include“net_common.h” //使用命名空间std; 命名空间 olc { 命名空间网络 { 模板 队列类 {

回答 1 投票 0

ReentrantMutexGuardborrow_mut 被阻止

有人可以解释一下为什么当在 ReentrantMutexGuard 上执行borrow_mut() 时我的代码会出现恐慌。这是我的代码 使用 std::sync::Mutex; 使用 std::cell::RefCell; 使用 parking_lot::ReentrantMutex; #[德...

回答 1 投票 0

如何在生成的 tauri 异步运行时线程中使用托管 Tauri 状态变量?

我是 rust 新手,所以这是一个关于 tauri + rust 的问题。 我正在尝试构建这个应用程序,其中我有一个命令启动一个线程,该线程向rabbitmq发布许多消息,然后 emi...

回答 1 投票 0

是否可以使用Firebase实时数据库来实现分布式互斥体?

我正在考虑使用这样的事务来实现一种分布式锁: const lockId = 'myLock'; const lockRef = firebaseAdmin.database().ref(`/locks/${lockId}`); lockRef.transaction(

回答 2 投票 0

在 OSX 上具有合理性能的条件变量

我正在用 c++11 编写一个相当大的多线程程序,并试图保持与 linux 和 OS X 的兼容性。几周前,我注意到 OSX 的性能很糟糕,并且通过...

回答 1 投票 0

© www.soinside.com 2019 - 2025. All rights reserved.