多线程共享写入日志的有关问题。关于互斥

多线程共享写入日志的问题。。关于互斥
我写了一个小项目,现在要添加日志功能。
此程序只有一个主线程和一个副线程,但是两个线程里都会有写入同一日志txt文件的操作。

这个互斥体该怎么写呢?

C/C++ code

class log
{
public:
   log();//初始化生成一个以当前时间命名的txt文件
   write(int level , std::string msg);// 写入文件
   ……
private:
   ……
}


日志Log类简单 如上所示,主副线程同时调用的 只有 write(,)成员函数。。
求教 这个互斥锁该怎么写?

------解决方案--------------------
没必要对全局的实例加锁。你只是在写日志文件的时候才需要同步的话那么就只需要在write函数里面加锁即可。至于锁用静态成员或者全局静态的都可以
------解决方案--------------------
如果是用fwrite的记得不需要加锁。
似乎缓冲区会帮你做
-
PS:引自CSDN某人回复,我多线程用fwrite一直未加锁,未发现错误。
-
如果要加锁,可以用临界区