多线程编程指南

获取互斥锁

使用 mutex_lock(3C) 可以锁定 mp 所指向的互斥锁。如果该互斥锁已经锁定,调用线程将会阻塞,直到该互斥锁成为可用为止。调用线程会在具有优先级的队列中等待。对于 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

描述:

互斥锁已经锁定并且由调用线程拥有。