マルチスレッドのプログラミング

mutex の獲得

mp が指す mutex をロックするには、mutex_lock(3C) を使用します。mutex がすでにロックされている場合、呼び出しスレッドは mutex が使用可能になるまでブロックされます。ブロックされたスレッドは、優先順位の高いキューで待機します。POSIX スレッドの場合については、pthread_mutex_lock の構文」を参照してください。

mutex_lock の構文

#include <thread.h>

int mutex_lock(mutex_t *mp);

mutex_lock の戻り値

mutex_lock() は、正常終了時に 0 を返します。次のいずれかの条件が検出された場合、mutex_lock() は失敗し、対応する値を返します。


EFAULT

説明:

mp が指すアドレスが正しくありません。


EDEADLK

説明:

mutex はすでにロックされていて、呼び出しスレッドに保持されています。