目次 - API(機能別) - 同期プリミティブ - SDL_CreateMutex

# SDL_CreateMutex

新しいmutexを生成する

## 構文

`SDL_mutex* SDL_CreateMutex(void)`

## 戻り値

初期化されアンロックされたmutexを戻す. 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

## サンプルコード

``

    SDL_mutex *mutex;

    mutex = SDL_CreateMutex();
    if (!mutex) {
        fprintf(stderr, "mutexを生成できなかった\n");
        return;
    }

    if (SDL_LockMutex(mutex) == 0) {
        /* ここでmutexがロックされている間の処理をする */
        SDL_UnlockMutex(mutex);
    } else {
        fprintf(stderr, "mutexをロックできなかった\n");
    }

    SDL_DestroyMutex(mutex);

## 詳細

新しく生成されたmutexは, 全てアンロックの状態から始まる.

他のスレッドで既にロックされている間はSDL_LockMutex()から戻らない. ブロックせずにロックを試みたい場合はSDL_TryLockMutex()を使うこと.

SDLのmutexはリエントラント(再入可能)である.

## バージョン

SDL 2.0.0以降

## 関連項目(関数)

SDL_DestroyMutex
SDL_LockMutex
SDL_TryLockMutex
SDL_UnlockMutex

## SDL Wikiへのリンク

SDL_CreateMutex - SDL Wiki