多线程加锁打印文件

1.添加头文件 #include <mutex> 

2.对IO加锁

static std::mutex io_mutex;
std::lock_guard<std::mutex> lk(io_mutex);

3.打印文件

  FILE *fp = fopen("test", "a");

  std::fprintf(fp,"xx",xx );

fclose(fp);

注意打印文件的逻辑应和mutex加锁逻辑在一个大括号内,这样mutex在析构的时候可以自动解锁。

猜你喜欢

转载自blog.csdn.net/strikedragon/article/details/84393552
今日推荐