gpt4 book ai didi

c++ - 在 C++11 中是否有等同于 boost::interprocess::null_mutex 的东西(例如 std::null_mutex)?

转载 作者:可可西里 更新时间:2023-11-01 18:27:30 26 4
gpt4 key购买 nike

我发现在某些情况下我不希望同步开销时加入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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com