critical-section 相关问题

关键部分是指将在访问全局数据或资源(需要同步)的多个线程中并发运行的一段代码,或者是在Windows操作系统下与用于互斥对象的用户级自旋锁。后一种意义上的关键部分在功能上与互斥体相同,它不能与不同的过程共享,并且在非拥塞的情况下它快几个数量级。

cuda 中的线程/扭曲本地锁

我想在cuda中实现关键部分。我读了很多关于这个主题的问题和答案,答案通常涉及atomicCAS和atomicExch。 然而,这在扭曲级别不起作用,因为......

回答 1 投票 0

C:抢占式调度中从低优先级线程读取共享变量

单核嵌入式系统 基于优先级的调度 线程 2(T2) - 高优先级 线程 1(T1) - 低优先级 单一生产者(T2)和单一消费者(T1) 要求: 数据从T2流向T1 thr...

回答 1 投票 0

如何使用 Bakery 算法防止 Java 中的死锁?

这里的代码基本上实现了 Bakery 算法(在一个名为 Bakery 的类中),以保护类计数器中的关键部分(我将从该类中创建我的线程...

回答 1 投票 0

分布式互斥:小圈子形成

我一直在研究基于Quorum概念的分布式互斥算法。 引用: Coterie C 被定义为一组集合,其中每个集合 g ∈ C 称为群体。 以下

回答 2 投票 0

Windows CRITICAL_SECTION 对象可以配置为拒绝递归访问吗?

默认情况下,CRITICAL_SECTION 对象是递归的。是否可以像 pthread 互斥体一样配置此行为以启用或禁用递归线程访问? 澄清回应评论:我是

回答 2 投票 0

条件变量解决多生产者多消费者问题

我目前正在学习操作系统,我遇到了“使用条件变量解决并发问题”。 任务是模拟具有 si 队列的多线程 Web 服务器...

回答 1 投票 0

openmp 原子更新与临界区

顺序循环、临界区、原子更新。 我有一个由顶点和边组成的二维图。 对于每个顶点,我想计算自由度 (dof) 的数量。 顶点自由度 = n...

回答 1 投票 0

CUDA:通过原子操作实现释放锁

GPU:Quadro RTX 4000 CUDA:11.7 我已经通过原子操作实现了全局锁,例如: __global__ void floatAddLockExch(float* addr, 易失性 int* 锁) { 布尔傻瓜=真; 同时(傻瓜...

回答 1 投票 0

在没有提供硬件原子操作的情况下,如何在软件中实现锁?

在没有提供硬件原子操作的情况下,如何在软件中实现锁? 在 Boost.Lockfree 文档中,他们说: 一些架构不提供必要的原子操作......

回答 0 投票 0

避免临界区 |在没有全局锁的情况下写入文件的安全方法

我的脚本执行约 20000 个异步请求,然后处理响应。我想通过使用多处理来加快处理响应的过程。来自响应的数据保存在 ~3000 json f...

回答 0 投票 0

multiprocessing.Manager() 用于管理数据写入文件

我的脚本执行 ~20000 个异步请求,然后我需要处理响应。我真的很想通过使用多处理来加快处理响应的过程。来自响应的数据存储...

回答 0 投票 0


MPI中的关键部分?

我有一些代码来打印一个2D数组到标准输出。问题是,当我运行它时,每个进程都会写入输出,数据重叠,导致无法使用。我怎样才能建立一个 ...

回答 2 投票 12

彼得森算法会陷入死锁吗?

那么假设我们有两个进程(0和1)。0调用enter_region。它设置interest[0]= TRUE,执行被停止。现在进程1来了。 interested[1] = TRUE turn = 1 在...

回答 1 投票 0

我可以从DLL导出Windows CRITICAL_SECTION吗?

我将鼠标悬停在VSCode中的CRITICAL_SECTION上,工具提示为:typedef RTL_CRITICAL_SECTION CRITICAL_SECTION typedef struct __unnamed_struct_13a13_1 CRITICAL_SECTION我不确定如何导出...

回答 1 投票 0

InitializeCriticalSection在一个项目中有效,但在另一个项目中失败

在Windows 10 x64上使用Visual Studio 2019 Professional。我有几个C ++ DLL项目,其中一些是多线程的。我将CRITICAL_SECTION对象用于线程安全。在DLL1中:...

回答 1 投票 1

如何将关键部分传递给另一个线程?

我有3个线程,同时恢复,并调用相同的函数。如何强制线程离开关键部分并将其传递给另一个线程?当我运行下面的代码时,while循环为...

回答 1 投票 0

使用信号量解决N个过程的关键部分

我试图理解信号量的概念,我有以下代码。最初,信号量互斥被初始化为Pi的1结构; do {wait(mutex);临界区信号(...

回答 1 投票 0

如果信号锁定获取/ tryAcquire失败,如何使Java线程执行其他任务而不是阻塞?

我一直在学习Java的并发性,并且正在查看Java信号量并遇到了问题。我有多个线程试图获取多个锁之一来访问受保护的关键部分...

回答 1 投票 1

openmp中的关键指令是否可以命名变量?

我想运行以下循环以并行计算元素。由于count [j]仅通过(X [i] / exp)%10计算为j的迭代来更新,因此我想为...

回答 1 投票 0

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