Я понимаю, что pthread_cond_wait () задокументирована для получения ложных пробуждений, и вызывающая сторона должна проверить это условие, и что мотивация для этого состоит в том, чтобы позволить реализациям pthread_cond_wait () иметь лучшую производительность и заставить вызывающую программу создавать больше надежный код.
Тем не менее, я не видел, чтобы кто-то получал конкретную информацию о возможностях, которые дает эта возможность, за исключением упоминания об условиях гонки, которых было бы дорого избегать.
Может, кто-нибудь подробно расскажет о том, какие условия могут возникнуть, чтобы избежать ложных пробуждений и какие аппаратные архитектуры могут вызвать такие сценарии?