作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我发现在某些情况下我不希望同步开销时加入null_mutex
(目前是boost::interprocess::null_mutex
)的功能非常有用和其他真正的互斥体。
我正在尝试使用新的 c++11 mutex
类,但我看不到 null_mutex
的等价物 - 这让我感到困惑..
是的,我知道实现起来很简单(或者我可以继续使用 boost,但在可能的情况下,我试图坚持标准,这似乎是一个小遗漏?)
最佳答案
您可以通过创建 Lockable
的“空”实现来相当简单地完成此操作理念:
struct null_mutex
{
void lock() {}
void unlock() noexcept {}
bool try_lock() { return true; }
};
这将与 std::lock_guard 一起工作:
null_mutex mux;
std::lock_guard<null_mutex> guard(mux);
关于c++ - 在 C++11 中是否有等同于 boost::interprocess::null_mutex 的东西(例如 std::null_mutex)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413798/
我发现在某些情况下我不希望同步开销时加入null_mutex(目前是boost::interprocess::null_mutex)的功能非常有用和其他真正的互斥体。 我正在尝试使用新的 c++11
boost::details::pool::pthread_mutex 和 boost::details::pool::null_mutex 有什么区别。 我看到在最新的 boost 版本 - 1.4
我想知道使用 boost::fast_pool_allocator 的安全性与 null_mutex放。 我知道下面是一个不安全的实例。每个类型都实例化一个分配器。所以如果你有两个容器都使用 fast
我是一名优秀的程序员,十分优秀!