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

SDL_CondSignal

条件変数を待つ1つのスレッドを再開する

構文

int SDL_CondSignal(SDL_cond* cond)

引数

cond通知する条件変数

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()で詳細を知ることができる.

サンプルコード

条件変数の典型的な使い方:

SDL_bool condition = SDL_FALSE;
SDL_mutex *lock;
SDL_cond *cond;

lock = SDL_CreateMutex();
cond = SDL_CreateCond();
.
.
Thread A:
    SDL_LockMutex(lock);
    while (!condition) {
        SDL_CondWait(cond, lock);
    }
    SDL_UnlockMutex(lock);

Thread B:
    SDL_LockMutex(lock);
    ...
    condition = SDL_TRUE;
    ...
    SDL_CondSignal(cond);
    SDL_UnlockMutex(lock);
.
.
SDL_DestroyCond(cond);
SDL_DestroyMutex(lock);

関連項目(関数)

SDL_CondBroadcast
SDL_CondWait
SDL_CondWaitTimeout
SDL_CreateCond
SDL_DestroyCond

SDL Wikiへのリンク

SDL_CondSignal - SDL Wiki