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