エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
mutexの制約とバイナリセマフォ - yohhoyの日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
mutexの制約とバイナリセマフォ - yohhoyの日記
C++11標準ライブラリのstd::mutexオブジェクトでは、ロック取得/解放を同一スレッド*1から行わなければ... C++11標準ライブラリのstd::mutexオブジェクトでは、ロック取得/解放を同一スレッド*1から行わなければならない。(N3337 30.2.5.2/p3) m.unlock() Requires: The current execution agent shall hold a lock on m. この制約条件のため、下記コードのmutexオブジェクト利用は未定義動作(undefined behavior)を引き起こす。 #include <thread> #include <mutex> std::mutex mtx; // mutexオブジェクト int resource; // 保護対象のリソース void proc() { // resourceを使う処理B mtx.unlock(); // (2) NG:別スレッドでロック解放...したい //... } int mai