多线程记录器

时间:2013-04-10 13:39:12

标签: c++ multithreading boost-thread

我正在尝试使用boost为多线程c ++代码创建一个记录器。这是我的代码:

class logger
{
private:
    boost::mutex logMtx;
public:
    logger()
    {
    }
    ~logger()
    {
    }
    void logString(string z)
    {
        boost::mutex::scoped_lock lock(logMtx);
        std::cout<<z<<std::endl;
        std::cout.flush();      
    }
};

然后我与多个线程共享一个实例(实例在创建其他线程之前在主线程中创建)并调用logString函数进行日志记录。它似乎不起作用。有些行被截断(整个字符串不打印 - 即如果我通过“abcd”它有时打印“bcd”。)

这种方法有问题吗?

0 个答案:

没有答案