mutex 相关问题

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

Mutex 不会停止多个协程来修改或读取数据

我有一个包含列车列表的服务(我想在协程之间共享的重要数据)。它还具有修改列表的方法。因此,我在这些方法中使用互斥体。 这是代码

回答 1 投票 0

当多个线程在 C 中写入同一个文件描述符时,如何防止竞争情况?

我有以下函数将在线程中运行: 无效*dinning_handler(无效*arg) { t_philo *philo; 结构体 timeval 开始; philo = (t_philo *)arg; 获取当日时间...

回答 1 投票 0

为什么c++11的std::mutex没有内存顺序?

我的意思是与c++11atomic相比,例如: #包括 #包括 #包括 std::atomic 计数器(0); 无效增量计数器(){ 对于(int...

回答 1 投票 0

如何使用信号量实现条件变量?

不久前,我正在考虑如何相互实现各种同步原语。例如,在 pthread 中,您可以获得互斥体和条件变量,并且从中可以...

回答 2 投票 0

互斥体释放会抛出异常,因为等待更改上下文

我有一项服务,我将其作为单例注入,该服务具有: 私有只读字典> _fromToAll = []; 私有只读互斥体_mutex = new(); 我...

回答 1 投票 0

使用其自身外部的属性来改变结构的简单方法

我想在其实现之外使用自身来改变外部结构,而不处理其属性。如何在 Rust 中正确实现它?有没有一种简单的方法来实现可变和不可变

回答 1 投票 0

future返回的不是`Send`

我对 Rust 还很陌生,正在玩 axum。 我想使用 PKCE 实现授权代码流程。因此我必须将生成的pkce代码验证器交给回调r...

回答 1 投票 0

mutex.Lock() 如何知道要锁定哪些变量?

我是个新手,所以请温柔一点。 所以我已经在我的一些代码中使用互斥体几周了。我理解其背后的概念:锁定对特定资源的访问,与其交互......

回答 2 投票 0

golang 中互斥锁到底锁什么?

在下面的代码中,我如何区分 gloabllock 和 entrylock 以及它到底锁定什么 类型cacheImpl结构体{ globalLock 同步.Mutex EntryLock 映射[字符串]*sync.Mutex ...

回答 1 投票 0

MutexGuard 内部的过滤向量无需克隆

我有一个锁定的 a,里面有 B 结构的向量。我想过滤 a.b 而不克隆 B 结构。在 Rust 中可能吗? 使用 std::sync::{Arc,互斥体}; #[导出(调试)] 结构体 B { n:i64, } #[

回答 1 投票 0

如何使用Promela建模语言对golang RWLock进行建模

我想要一个 golang RWMutex API 语义的模型(https://pkg.go.dev/sync#RWMutex);我特别想要读者和作者的阻止行为。 这是我的读写互斥体的模型:

回答 1 投票 0

如何请求在多个 api 调用中调用一次的刷新令牌

我有一个函数,如果之前的 API 响应返回错误代码 1000,则刷新令牌。但是,当同时进行多个 API 调用时,会导致多个刷新令牌

回答 1 投票 0

独特的锁未在 while(1) 内解锁

在下一个代码中,尽管已显式解锁,但 std::unique_lock lck 未在 Manager::CommandShell 中解锁。我能够获得“进入锁”,但不能获得“内部锁”,是吗

回答 1 投票 0

Python:应用程序必须等待另一个完成(互斥)

我正在创建一个必须一次运行一个的应用程序,所以我尝试根据以下配方创建它: https://code.activestate.com/recipes/474070-creating-a-single-instance-application/ 问题...

回答 1 投票 0

这个函数需要加锁吗?

这是互斥锁的示例。 #包括 pthread_mutex_t count_mutex; 长长计数; 空白 增量计数() { pthread_mutex_lock(&count_mutex); 计数 = 库...

回答 1 投票 0

Mutex 和 CPU 缓存(和内存栅栏)的关系

假设我有一个具有多个线程的应用程序需要访问一些共享数据。 我知道可以使用互斥锁(关键部分)来确保一次最多有一个线程可以访问

回答 1 投票 0

如何保证tlsConfig中VerifyPeerCertificate的顺序?

我有一个带有 tlsConfig 的 tls 监听: 监听器, _ := tls.Listen("tcp", ":8080", tlsConfig) 为了 { fmt.Println("1", time.Now()) peerMutex.Lock() 康涅狄格州,_...

回答 1 投票 0

VB6:跨所有用户会话的单实例应用程序

我有一个应用程序需要成为跨 Windows PC 上所有用户会话的单实例应用程序。到目前为止,我的研究主要集中在使用互斥体来完成此任务,但我有一个......

回答 3 投票 0

为什么GDB中“futex断点”和write()会互相影响

当我使用 gdb 通过输出调试 futex 锁时,程序陷入了一个奇怪的循环。 #包括 #包括 #包括 #包括 不稳定...

回答 1 投票 0

尽管使用了互斥体,C++ 并行程序中仍存在持续数据争用警告

尽管使用互斥体,我在 C++ 并行程序中遇到了持续的数据争用警告。我已经使用 OpenMP 和互斥体实现了一个解决方案来同步对共享数据的访问,但我认为...

回答 1 投票 0

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