在线程的调度中经常会用到 pthread_cond_wait 来block 线程 等待线程条件的到来。
之前以为pthread_cond_wait 是在 条件满足的时候 释放锁。
后来发现原来【pthread_cond_wait 是在阻塞的时候就释放锁了,解除阻塞的时候又获取了锁】
后来想想也是啊,自己已经阻塞了 再拿着锁,其他线程还怎么运行啊。
切记啊!!
pthread_cond_wait详解
本文解析了在线程调度中使用pthread_cond_wait时的行为特点,强调该函数在阻塞时会释放锁,并在解除阻塞时重新获取锁的过程。
在线程的调度中经常会用到 pthread_cond_wait 来block 线程 等待线程条件的到来。
之前以为pthread_cond_wait 是在 条件满足的时候 释放锁。
后来发现原来【pthread_cond_wait 是在阻塞的时候就释放锁了,解除阻塞的时候又获取了锁】
后来想想也是啊,自己已经阻塞了 再拿着锁,其他线程还怎么运行啊。
切记啊!!
1279

被折叠的 条评论
为什么被折叠?