Ожидание нескольких событий C ++

Есть ли рекомендуемый способ ожидания на нескольких входах. Например, я бы хотел, чтобы моя программа могла получать данные из 3 источников:

Слушайте состояние потока, например pthread_cond_wait ()

Взять данные из стандартного ввода, например GetLine ()

Слушайте на сокете, например принимаем ()

Каков наилучший способ сделать это? Нужен ли поток для каждого источника? Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос