mutex 相关问题

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

如何多次锁定互斥锁? [重复]

例如: std::互斥体 g_mutex; 无效函数2() { std::lock_guard 锁(g_mutex); //做一些非线程安全的事情 printf("在函数2中:线程:0x%08X “,标准::

回答 3 投票 0

如何在同一线程上使用相同的互斥锁锁定两次?

我有这个课程(简化): // 东西.h #包括 类事物 { 民众: 无效进程(); 无效内部(); 私人的: std::互斥锁; }; // 东西.cpp #include“Thing.h” ...

回答 3 投票 0

Rust 中是否有一种工具可以锁定多个互斥体同时防止死锁?

Rust 中是否有类似于 C++ std::lock() 的工具来防止代码中的死锁,如下所示: 类型 Type0 = Arc>; 类型 Type1 = Arc>; fn foo(a: Type0, b: T...

回答 3 投票 0

为什么我的互斥锁不授予独占访问权限?

我的 C 程序有三个线程 A、B 和 C,它们共享一些缓冲区。每个缓冲区都由互斥锁保护,每个线程在写入/读取缓冲区之前必须锁定互斥锁。 A 写入缓冲区,...

回答 1 投票 0

为什么互斥锁可以被两个线程锁定?

我的 C 程序有三个线程 A、B 和 C,它们共享一些缓冲区。每个缓冲区都由互斥锁保护,每个线程在写入/读取缓冲区之前必须锁定互斥锁。 A 写入缓冲区,...

回答 1 投票 0

Parallel.ForeachAsync 时需要互斥体吗?

根据我的理解,Parallel.ForeachAsync 调用中的委托会同时执行多次。 如果该委托操作的变量不是该委托的本地变量怎么办? 说我公司...

回答 3 投票 0

Android 崩溃:MutexImpl.unlock 中的“java.lang.IllegalStateException - 此互斥体未锁定”

我在 Android 应用程序中遇到了相当令人费解的崩溃,需要一些帮助来找出根本原因以及如何解决它。崩溃伴随着以下错误

回答 1 投票 0

AutoResetEvent 和 Mutex 有什么区别

我对这些概念很陌生。但当我深入了解线程时,我感到困惑。 互斥量、信号量相对于自动重置事件有何意义。 我与螺柱唯一的区别...

回答 3 投票 0

2线程同步,无需手动mutex.lock()

我有2个线程, 一个线程创建一个管道并对其负责, 另一个线程创建该管道与外部世界的通信, 所以我想在 pip 之后创建通信...

回答 1 投票 0

如何在 C# 中创建系统互斥体

如何创建系统/多进程互斥体来使用相同的非托管资源协调多个进程。 背景: 我写了一个使用文件打印机的程序,它只能...

回答 3 投票 0

Go 和 C++ 中线程的区别

我有这个线程安全队列(在 GoLang 和 Cpp 中实现),我在其中生成超过 100K 线程以将数据推送到共享队列中。在我的笔记本电脑上,我有 8 个核心和 16 个逻辑处理器,...

回答 1 投票 0

互斥/锁构造引发 MSVC 警告

在多个线程可能需要访问 std::cout 的库中,我编写了以下函数,以便控制对 std::cout 的访问(通过一个非常简单的示例如何使用它......): // 互斥 a...

回答 1 投票 0

是否可以将锁定的互斥体传递给生成的任务?

我有一个包装一些共享状态的结构 struct Demo(Arc>); 我想从一个生成任务的函数返回一个结果,该任务指示状态是否已锁定或

回答 1 投票 0

为什么这会导致核心转储或死锁

我正在编写一个代码来实现线程安全和线程不安全的死锁程序。如果一切正常,那么运行就没有问题。 #包括 #包括 #

回答 1 投票 0

为什么 pthread 自旋锁比互斥体快得多?

我正在使用以下代码来破解多线程程序的 fifo 例子 作为指导。一个线程写入队列,另一个线程读取 它。同步 fifo 访问的开销是

回答 1 投票 0

互斥体无法将正在运行的应用程序限制为一个

我正在编写一个程序来格式化和聚合数据,使其可用于电力自动化处理。然而,我刚刚注意到我的一个应用程序能够同时运行多次,甚至

回答 1 投票 0

在锁定之前推迟解锁可以吗?

我正在查看一些现有代码,并看到它重复了好几次 延迟 mtx.Unlock() mtx.Lock() 这在我看来是错误的,我更喜欢在执行后推迟解锁的惯用方式...

回答 1 投票 0

我总是需要通过互斥/原子来保护变量吗?

假设我有很多线程和一个简单的、可简单复制的非数组(基本类型,如 float、uint16_t 等)变量,称为 flag。一个且只有一个线程经常设置变量的值...

回答 2 投票 0

Python 多处理安全写入文件

我正在尝试解决一个涉及很多子问题的大数值问题,并且我正在使用Python的多处理模块(特别是Pool.map)来分割不同的独立子问题...

回答 4 投票 0

消费者/生产者模式如何等待多队列?

假设我们的队列结构如下: 类型定义结构{ buffer_t* 缓冲区; int 空; int 已满; pthread_mutex_t 锁; pthread_cond_t 队列满; pthread_cond_t 队列空; }

回答 0 投票 0

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