Так как это обычный вариант использования для pthread_cond, учебник вызывает эту логическую ошибку. Но ничего не потерпит крах и не произойдет неожиданного поведения. В нормальном потоке выполнения cond_signal () может по-прежнему выдаваться, когда в cond_wait () нет потоков: например, все читатели могут просто выполнять обработку сообщений, когда писатель добавляет еще один фрагмент данных в очередь.

аписано в учебнике по потокам POSIXhttps://computing.llnl.gov/tutorials/pthreads/ что это логическая ошибка.

мой вопрос почему это логическая ошибка?

В моей программе мне нужно использовать эти сигналы, однако я не могу гарантировать, что будет поток, который будет в состоянии _cond_wait. Я пытался проверить это, и ничего не происходит. Это может вызвать неожиданное поведение или хуже?

благодарю вас!