我有时需要named_mutex的“null”实现(即总是成功但什么都不做)。
是否有这样的实施?如果没有,推荐的实施方式是什么?
答案 0 :(得分:0)
为什么不只有一个空定义的类?
class named_mutex
{
public:
named_mutex(create_only_t, const char *) {}
named_mutex(open_or_create_t, const char *) {}
named_mutex(open_only_t, const char *) {}
~named_mutex() {}
void unlock() {}
void lock() {}
bool try_lock() {}
bool timed_lock(const boost::posix_time::ptime &) {}
static bool remove(const char *) {}
};
使用此实例作为named_mutex
,它就像它从未存在过一样。