|
|
1
47
您应该将pthread_cond_wait放入while循环的真正原因不是因为虚假唤醒。即使您的条件变量没有虚假唤醒,您仍然需要循环来捕获常见类型的错误。为什么?考虑一下如果多个线程在相同条件下等待会发生什么:
|
|
|
2
17
假设你不检查情况。那么通常你无法避免以下坏事的发生(至少,你无法在一行代码中避免它):
当然,您的第二个代码示例可以通过执行以下操作来避免这种情况:
那么,如果最多只有一个接收器,并且
|