Std::condition_variable между двумя потоками (чтение-обработка) [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Std::condition_variable между двумя потоками (чтение-обработка) [закрыто]

Сообщение Anonymous »

допустим, я работаю над приложением (C++11) с двумя потоками: один уведомляет (о наличии доступных изображений), а другой выполняет некоторую обработку (изображения).
Ожидаемое поведение:
  • Кадр обработки «» постоянно печатается и не блокируется.
  • ФункцияtreatImage вызывается каждые ~100 мс с использованием изображения из кадра
Сначала я сделал некоторые глобальные переменные:

Код: Выделить всё

std::condition_variable cvar;
std::atomic_bool done(false);
std::atomic_bool predicate(false);
std::mutex mutex;
У меня есть одна функция, читающая видео

Код: Выделить всё

void readVideo(const std::string& filename, cv::Mat& frame_) {
cv::VideoCapture cap(filename, cv::CAP_FFMPEG);
if (!cap.isOpened()) {
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/78438144/stdcondition-variable-between-two-threads-read-treat[/url]

Вернуться в «C++»