タグ

ブックマーク / qiita.com/yuba (1)

  • C++でJavaっぽい、いやJava以上のsynchronized - Qiita

    C++11以降だとstd::mutexとstd::lock_guardがありますし、これらは簡単なクラスだから古いC++でも数秒で自作できますし、でも排他スコープが明確なJava/C#のsynchronizedの記法がうらやましいなーとこんなマクロ書いちゃうこと多いですよね。(よね?) #define synchronized(monitor) \ if (auto __lock = std::make_unique<std::lock_guard<std::mutex>>(monitor)) std::vector<int> data_; // いろんなスレッドから読み書きするデータ std::mutex monitor_; // mutexオブジェクトを宣言しておいて ... synchronized (motinor_) { // 排他制御された処理 data_.doSomethin

    C++でJavaっぽい、いやJava以上のsynchronized - Qiita
    matsukaz
    matsukaz 2015/08/23
  • 1