boost-mutex相关内容

C++中如何限制运行实例的数量

我有一个分配大量内存的 C++ 类.它通过调用第三方库来实现这一点,该库旨在在无法分配内存时崩溃,有时我的应用程序会在并行线程中创建我的类的多个实例.由于线程太多,我崩溃了.我对解决方案的最佳想法是确保永远不会有超过三个实例同时运行.(这是一个好主意吗?)我目前实现 that 的最佳想法是使用 boost 互斥锁.类似于以下伪代码的内容, MyClass::MyClass(){my_thread ..
发布时间:2021-12-24 15:24:46 C/C++开发

每次升压scoped_lock失败

在一个类中,我想在这样的函数上使用互斥锁 void Agent::notify(Packet& packet, Peer peer) { boost::mutex::scoped_lock lock(mutex_); ... } 在编译过程中没有问题.但是,当我执行程序时,boost总是在此行失败: terminate called after throwing a ..
发布时间:2020-07-18 20:39:26 C/C++开发

如何首先获取排他锁,然后降级为共享而不释放锁

Stack Overflow有几个示例,其中一个函数首先首先获得可升级锁,然后然后通过升级获得 独占访问权限.我的理解是,如果不仔细使用,此可能会导致死锁,因为两个线程可能都获得了可升级/共享的锁,然后都试图进行升级,这时两个线程都无法进行,因为另一个线程具有共享锁 我想要的是先获取互斥锁,然后降级为共享锁,而不必完全释放该锁.我找不到这样的例子.有什么想法吗? 解决方案 Boost ..
发布时间:2020-07-18 20:39:24 C/C++开发

提高:: named_mutex:安全地清理时,最后一个进程关闭

我有一个资源,我需要保护访问过程中,并在多个进程。我已经通过通过的boost ::进程间创建一个名为互斥管理这样的:named_recursive_mutex ,它的伟大工程 的#include<升压/间/同步/ named_recursive_mutex.hpp> 提高::进程间:: named_recursive_mutex MUT( 提高::进程间:: open_or_ ..
发布时间:2016-08-12 17:48:12 C/C++开发

如何限制用C正在运行的实例的数目+ +

我有一个C ++类,分配大量内存。它通过调用,旨在崩溃,如果它不能分配内存第三方库,有时我的应用程序创建我的并行线程类的几个实例。有了太多的线程我有一个崩溃。 为解决我的最好的办法是要确保有永远,说,比在同一时间运行的三个实例。 (这是一个好主意吗?) 而我对于目前的实施最好的主意的是的是使用升压互斥。大致如下伪code线的东西, MyClass的MyClass的::(){ my_th ..
发布时间:2016-08-12 17:11:06 C/C++开发