cond & mutex
pthread_cond_wait内部原子地完成了mutex unlock,睡眠当前线程(OS应该有一个队列,哪些线程因等待这个条件变量而阻塞)。
如果这两步操作不是原子的话会有什么情况呢?假设第一步mutex lock已经完成时,此时另外一个线程就可以获得mutex,并且cond_notify,那么这个notify会丢失。
这是本人的一些理解,若有错误望指出。
pthread_cond_wait内部原子地完成了mutex unlock,睡眠当前线程(OS应该有一个队列,哪些线程因等待这个条件变量而阻塞)。
如果这两步操作不是原子的话会有什么情况呢?假设第一步mutex lock已经完成时,此时另外一个线程就可以获得mutex,并且cond_notify,那么这个notify会丢失。
这是本人的一些理解,若有错误望指出。