std::latch::arrive_and_wait
void arrive_and_wait( std::ptrdiff_t n = 1 ); | (начиная с C++20) |
Атомарно уменьшает внутренний счётчик на n и (при необходимости) блокирует вызывающий поток до тех пор, пока счётчик не достигнет нуля. Эквивалентно count_down(n); wait();.
Если n больше значения внутреннего счётчика или отрицательно, поведение не определено.
Параметры
| n | - | значение, на которое уменьшается внутренний счётчик |
Возвращаемое значение
(нет)
Исключения
В случае ошибки выбрасывает std::system_error с кодом ошибки, допустимым для типов мьютексов.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/latch/arrive_and_wait