mutex 相关问题

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

如何以线程安全的方式初始化C ++全局互斥锁

尝试使用函数static mutex来使代码线程安全。问题不是所有编译器都以线程安全的方式初始化函数静态变量。 void Initialize(){static Mutex L; // ...

回答 1 投票 1

IAR无法为ARM AM3357编译互斥库,致命错误Pe035

我正在尝试在AM3357微控制器中实现EtHash算法,但是当我尝试包含互斥锁库时,它显示以下错误:致命错误[Pe035]:#error指令:“IAR ...

回答 1 投票 0

如果我们已经手动解锁,unique_lock是否会在销毁时解锁?

即使我手动调用unlock也会调用unique_lock :: unlock()函数,以便在给定的互斥锁上接收两次解锁信号?

回答 3 投票 2

这个互斥体实现在PostgreSQL中是否有意义?

我需要在PostgreSQL中实现数据库会话之间的同步。在SQL Server中,我将通过创建自己的“锁定”表来实现它。创建表MyLock(LockName VARCHAR(100)NOT ...

回答 1 投票 0

什么是互斥?

互斥体是一种经常用于解决多线程问题的编程概念。我向社区提出的问题:什么是互斥体,你如何使用它?

回答 9 投票 547

Uart dma接收中断在几分钟后停止接收数据

我有一个项目,我使用了stm32f746g发现板。它从Uart顺序接收固定大小的数据,并通知应用程序每个数据接收完成,使用dma回调(...

回答 1 投票 0

什么时候应该使用螺旋锁而不是互斥锁?

我认为两者都在做同样的工作,你如何决定使用哪一个进行同步?

回答 6 投票 259

C ++ 17 std :: shared_mutex还没有?

看看C ++编译器支持,似乎在GCC 5.0+中可以使用std :: shared_mutex的不定时版本。但是,即使使用gcc版本5.3.0 20151204(Ubuntu 5.3.0-3ubuntu1~14.04),...

回答 1 投票 5

xSemaphoreTake()的freertos子优先级在相同的优先级任务中

我有三个具有相同优先级的任务。任务A mutextake()//关键代码mutexgive()任务B mutextake()//关键代码mutexgive()任务C mutextake()//关键代码mutexgive()每个...

回答 1 投票 1

如何更换这个GOTO声明,这一点很清楚

我正在使用FREERTOS并尝试实现互斥。我想知道如何重写它,所以我不需要GOTO(因为这是一个不好的做法),或者这是有效的GOTO美国案例。谢谢void mainThread(...

回答 1 投票 0

我是否必须锁定我刚才枚举的向量,或者只在我更改它时才这样做?

我改变并获得了矢量元素。因此,当线程运行时,我使用互斥锁来更改向量的元素。但如果我只想枚举矢量的元素,我还是要锁定我的......

回答 1 投票 -1

当使用来自`fork`创建的多个C线程的回调函数时,Rust Mutex无法正常工作

我正在使用C库Cuba,它使用从C中创建的多个线程调用的回调函数。古巴并行化基于fork / wait POSIX函数而不是pthreads(...

回答 1 投票 3

Java /操作系统中的信号量

我是论坛和编程的新手。目前我正在研究“操作系统”和Java。本周我们开始讨论“信号量”这个主题,在我看来这有点令人困惑。我有 ...

回答 1 投票 0

这个RAII风格的Objective-C课程会起作用吗?

在C ++下,我有一个Mutex类,我使用这个RAII风格的类来确保互斥锁被解锁,无论方法返回的原因是什么:class MutexLock {protected:Mutex&m_mutex; ...

回答 4 投票 7

调用函数时,unique_lock是否已解锁?

假设我有这样的情况:void consumer(){unique_lock 锁(MTX); FOO(); } void foo(){/ *线程是否仍然拥有互斥锁? * /}我希望它确实如此......

回答 1 投票 1

内核上下文中的进程可以在持有互斥锁时休眠吗?

我知道内核允许一个进程在持有互斥锁时睡眠(即使这不是一个好习惯)。我的问题是,这必然意味着这个过程会被抢先一步吗? LKD说每个......

回答 1 投票 0

如果一个线程锁定互斥锁并且没有解锁它,那么其他线程是否应该被阻塞?

以下代码的输出为4000;如果具有互斥锁的线程不释放它,为什么它是4000。我虽然这将是一个僵局,在主要我等待所有的功能完成。 int M = ...

回答 1 投票 3

在const引用getter上读取写入互斥锁(使用Qt)

我在我的模型 - 视图 - 控制器程序中使用以下方案:类模型{public const submodelA&getSubModA()const; const submodelB&getSubModB()const; private:submodelA _submod_a; ...

回答 1 投票 0

Mutex线程 - 代码似乎没有正确退出

所以我在这里有代码,它有两种线程。一种“产生”数据,另一种“消耗”它。任何时候都只能存在一定数量的数据,所以......

回答 2 投票 -2

为什么在struct中声明'未声明的互斥'错误会出现?

我正在使用信号量创建生产者和消费者文件进行同步。我创建了一个定义sem_t变量的结构。其中一个sem_t变量是互斥锁。 Mutex代表相互...

回答 2 投票 0

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