ミューテックスを自動的にアンロックするためのstd::lock_guardクラスとstd::unique_lockクラスでは、そのコンストラクタでいくつかのロック方法を提供しています。 1. 何も指定しない まず、何も指定しない場合。この場合、ミューテックスクラスのlock()メンバ関数を使用してロックの取得が行われます。これはstd::lock_guardとstd::unique_lockの両方でサポートされています。 #include <iostream> #include <mutex> int main() { std::mutex mtx; { std::unique_lock<std::mutex> lk(mtx); // lock()が呼ばれる // 共有リソースにアクセス... } // unlock()が呼ばれる } 2. defer_lock std::defer_lo