愚蠢的独立版本::同步



是否存在的函数等价物https://github.com/facebook/folly/blob/main/folly/docs/Synchronized.md它是自包含的,最好只包含头,这样我就不必把整个愚蠢的库拉到我的项目中了?

reddit上有一个讨论,其中也提到了folly::Synchronized,并提供了一些其他解决方案。

也许你正在寻找这样的东西:https://github.com/copperspice/cs_libguarded

测试代码片段:

shared_guarded<int, shared_mutex> data(0);
{
auto data_handle = data.lock();

++(*data_handle);

data_handle.reset();
data_handle = data.lock();
}
auto data_handle = data.try_lock();

REQUIRE(data_handle != nullptr);
REQUIRE(*data_handle == 1);

注意:cs_libguard需要C++17。

最新更新