おとついの晩ご飯

忘れやすいので忘れたくないことを書いています。

【C++】排他制御について

C++排他制御についてメモ

マルチスレッドで処理を行うアプリケーションで、同一のグローバル変数へアクセスし値を更新するような場合は、排他制御を行う必要がある。

// クリティカルセクションオブジェクトへのポインタ
// グローバル変数として定義する
CRITICAL_SECTION obj;

private void HaitaThread()
{
    // 初期化
    InitializeCriticalSection(&obj);

    // 排他処理を開始
    EnterCriticalSection(&obj);

    // ※※※ここに処理を入れる※※※

    // 排他処理を終了
    LeaveCriticalSection(&obj);
}