c ++类似铁锈,如同步化

时间:2015-11-10 13:01:49

标签: c++ c++11 boost

正如我在一些有关生锈的视频中看到的,它有一些东西 像这样(我使用c ++而不是rust来表示想法):

template<typename T>
class Synchronized {
    public:
        Synchronized(T);
        Something<T> get();
    private:
        std::mutex lock_;
};

和这样的用法:

Synchronized<std::string> obj;

auto s = obj.get();
//after that you can work with s as with std::string
//and obj.lock_ in locked state, after s was destroyed
//obj.lock_ will be unlocked

boost或其他一些C ++流行的库是否有这样的模式实现?

1 个答案:

答案 0 :(得分:3)

本书编写的实验boost::synchronized_value似乎是您正在寻找的。