Я работаю над написанием своей собственной строки состояния, которая включает в себя множество модулей (рабочие пространства, часы, открытые окна и т. Д.), Каждый из которых работает в своем собственном потоке.Каждый из этих модулей независимо ожидает события, которое они обнаруживают (например, минута, проходящая для модуля часов) и после которого они обновляют свое внутреннее значение, которое предназначено для чтения основным потоком, который отображает саму панель.Моя проблема сейчас в том, как мне сообщить основному потоку, что произошло обновление, и он должен проснуться и распечатать новую панель?Я посмотрел на условные переменные, но поскольку нет взаимных исключений для синхронизации основного и рабочего потоков, это не представляется возможным.Если бы я делал это в ржавчине, я бы использовал канал mpsc, чтобы мой основной поток ждал, чтобы прочитать из него, и чтобы модули отправляли пустое () сообщение, когда они обновляются, чтобы вызвать основной поток для повторной печати панели.Есть ли подобный эквивалент в C ++?