int SDL_UnlockMutex(SDL_mutex* mutex)
mutex | ロック解除するmutex |
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」と呼ばれる).
現在のスレッドではないスレッドでロックしたmutexを, 現在のスレッドでアンロックしてはならない. それは環境に依存した定義されない振る舞いを引き起こすことがある.
ロックされていないmutexをアンロックしてはならない.