pthread_mutex_lock函数是一个线程同步函数,用于对互斥锁进行加锁操作。它阻塞调用线程,直到可以获得互斥锁为止。如果互斥锁已经被其他线程锁定,则调用线程将被阻塞,直到互斥锁被解锁。
函数原型为:
int pthread_mutex_lock(pthread_mutex_t *mutex);
参数 mutex
是一个指向互斥锁变量的指针。
如果 mutex
指向的互斥锁当前没有被锁定,则调用线程将获得锁,并继续执行。如果 mutex
指向的互斥锁已经被其他线程锁定,则调用线程将被阻塞,直到互斥锁被解锁。
该函数返回值为0表示成功加锁,非零值表示失败。
需要注意的必须使用 pthread_mutex_unlock
函数来释放锁,以避免死锁的情况发生。