尝试获取pthread_mutex_lock(&mutex)的线程如果他们没有获得锁定会发生什么?

Bob*_*y S 6 c mutex pthreads locks

C编程:

当一个线程试图获取一个互斥锁并且无法获得它时会发生什么?

它睡觉了吗?

线程是否会在pthread_mutex_unlock(&mutex)时被唤醒; 叫做?

然后尝试再次获得锁定?

Car*_*rum 8

手册页:

pthread_mutex_lock()功能锁定互斥锁.如果互斥锁已被锁定,则调用线程将阻塞,直到互斥锁变为可用.

所以是的 - 你的线程被锁定,直到锁可用并且它可以获得它.