Spec-Zone.ru › C++

std::execution::run_loop::run

void run() noexcept;
(начиная с C++26)

Выполняет работу, поставленную в очередь в run_loop в вызывающем потоке.

Предварительные условия

Состояние экземпляра run_loop — либо starting, либо finishing.

Эффекты

Если состояние экземпляра run_loop — starting, оно изменяется на running. В противном случае состояние не изменяется.

Затем операция состояния, стоящая первой в очереди, многократно извлекается и выполняется, как если бы это происходило следующим образом:

while (auto* op = pop-front())
    op->execute();

Внутренняя операция pop-front блокируется до тех пор, пока не станет доступен элемент работы либо счётчик цикла не станет равен 0, а его состояние — finishing. В последнем случае состояние изменяется на finished, и выполнение run завершается.

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/execution/run_loop/run

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API