Привет. Есть вопрос по правильному использованию std::condition_variable . Я реализую потокобезопасную блокирующую очередь, которая должна блокироваться на pop(), пока не придет новый эелмент. Соответственно в push() я использую - cv.notify_one, а в pop() - cv.wait(lock, [&] { return !empty(); });
Я понимаю, что использую condition_variable не совсем так, как то, для чего она на самом деле нужна, потому что процессор у меня забивается на 100% из-за бесконечного полинга empty(). Поэтому прошу вас подсказать, как правильно реализовать вышеописанное. Вот ссылка на сам код, если понадобится
https://onlinegdb.com/r1llVLy4fw