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

SDL_CreateCondition

新しい条件変数を生成する

ヘッダ

SDL3/SDL_mutex.h

構文

SDL_Condition * SDL_CreateCondition(void);

戻り値

(SDL_Condition *) 新しい条件変数を戻す. 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

バージョン

SDL 3.2.0以降

サンプルコード

セマフォの典型的な使用法:

// 注意: このサンプルコードはSDL2 Wikiから名称のみを更新して移行したものである

bool condition = false;
SDL_Mutex *lock;
SDL_Condition *cond;
lock = SDL_CreateMutex();
cond = SDL_CreateCondition();


Thread_A:
    SDL_LockMutex(lock);
    while (!condition) {
        SDL_WaitCondition(cond, lock);
    }
    SDL_UnlockMutex(lock);
Thread_B:
    SDL_LockMutex(lock);
    /* ... */
    condition = true;
    /* ... */
    SDL_SignalCondition(cond);
    SDL_UnlockMutex(lock);

SDL_DestroyCondition(cond);
SDL_DestroyMutex(lock);

関連項目

SDL Wikiへのリンク

SDL_CreateCondition - SDL Wiki