多線程加鎖打印文件

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在析構的時候可以自動解鎖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章