Как я могу ждать несколько вещей

Я пишу потокобезопасную очередь, используя C ++ 11 и stl. Метод WaitAndPop в настоящее время выглядит следующим образом. Я хотел бы иметь возможность передать что-то в WaitAndPop, которое указывает, было ли запросить поток вызова остановить. WaitAndPop должен возвращать true, если он ждал и возвращал элемент очереди, он должен возвращать false, если вызывающий поток останавливается.

    bool WaitAndPop(T& value, std::condition_variable callingThreadStopRequested)
    {
        std::unique_lock lock(mutex);
        while( queuedTasks.empty() )
        {
            queuedTasksCondition.wait(lock);
        }

        value = queue.front();
        queue.pop_front();
        return true;
    }

Можно ли кодировать что-то вроде этого? Я'Я привык к Win32 WaitForMultipleObjects, но можетне могу найти альтернативу, которая работает для этого случая.

Thanks.I»

Я видел этот связанный вопрос, но это не такна самом деле не решить проблему.темы обучения на Linux

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

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