最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

<mutex>

# mutex(C++11)

`<mutex>`ヘッダは、排他制御（ミューテックス）、ロック、およびcall onceに関するクラス・関数を定義する。

## ミューテックス型

名前 | 説明 | 対応バージョン
--- | --- | ---
`mutex` | ミューテックス (mutex) | C++11
`recursive_mutex` | 再帰ロック可能なミューテックス (class) | C++11
`timed_mutex` | タイムアウト指定可能なミューテックス (class) | C++11
`recursive_timed_mutex` | 再帰ロック可能かつタイムアウト指定可能なミューテックス (class) | C++11

## ロック管理

名前 | 説明 | 対応バージョン
--- | --- | ---
`defer_lock` | 遅延ロックのためのタグ (class) | C++11
`try_to_lock` | `try_lock`のためのタグ (class) | C++11
`adopt_lock` | ロック済みミューテックスを受け取るためのタグ (class) | C++11
`lock_guard` | スコープロック (class template) | C++11
`scoped_lock` | 可変個のミューテックスを管理するスコープロック (class template) | C++17
`unique_lock` | 単一ロック (class template) | C++11
`try_lock` | 複数ミューテックスに対する`try_lock`操作 (function template) | C++11
`lock` | 複数ミューテックスに対する`lock`操作 (function template) | C++11

## 一度だけの呼び出し

名前 | 説明 | 対応バージョン
--- | --- | ---
`once_flag` | call once処理用のフラグ型 (class) | C++11
`call_once` | 指定された関数を一度だけ呼び出す (function template) | C++11

## バージョン

### 言語

- C++11

### 処理系

- Visual C++: 2012 ✅, 2013 ✅, 2015 ✅

## 関連項目

- `<shared_mutex>`