我正在使用libconfig ++和线程来制作小型服务器应用程序。问题的关键是,libconfig++ is not thread safe,所以我的想法是创建另一个类,用作与互斥的包装,像这样的东西:C++调整库以实现多线程
class app_config {
public:
app_config();
/* Here be my problems. */
void set();
void get();
virtual ~app_config();
private:
Config cfg;
boost::mutex *cfg_mutex;
};
现在,这是所有的好,直到我意识到libconfig supports plenty of types其变量。而那时候,我们的主角(我)发现自己正在寻找任何C++大师,并以一种善意的心态向他展示如何实现这一目标。
实质上,get
和set
功能将需要含有在set
“路径到配置文件的变量(I不会介意使用任一)和返回类型(或者第二个参数中std::string
或char*
path
可变s)的情况应该有所不同...
一如既往,任何帮助将不胜感激。
朱利安
请注意互斥体的生命周期管理。使'app_config'不可复制并使用'mutex'成员(而不是'mutex *')或使用'unique_ptr'成员并定义您自己的复制操作来创建新实例。 –
2012-01-14 03:28:43
哦,这是因为互斥体是不可复制的,对吗?谢谢!。 – 2012-01-14 03:33:02