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