typedef std::chrono::duration
typedef std::chrono::time_point<
static const bool is_steady =
static time_point now() noexcept;
};
D.2. Заголовок
Заголовок
Содержимое заголовка
namespace std {
enum class cv_status { timeout, no_timeout };
class condition_variable;
class condition_variable_any;
}
D.2.1. Класс std::condition_variable
Класс std::condition_variable
Экземпляры этого класса не удовлетворяют концепциям CopyAssignable
CopyConstructible
, MoveAssignable
, MoveConstructible
.class condition_variable {
public:
condition_variable();
~condition_variable();
condition_variable(condition_variable const&) = delete;
condition_variable& operator=(
condition_variable const&) = delete;
void notify_one() noexcept;
void notify_all() noexcept;
void wait(std::unique_lock
template
void wait(std::unique_lock
template
cv_status wait_until(
std::unique_lock
const std::chrono::time_point
template
bool wait_until(
std::unique_lock
const std::chrono::time_point
Predicate pred);
template
cv_status wait_for(
std::unique_lock
const std::chrono::duration
template
bool wait_for(
std::unique_lock
const std::chrono::duration
Predicate pred);
};
void notify_all_at_thread_exit(
condition_variable&, unique_lock
STD::CONDITION_VARIABLE
Конструирует объект типа std::condition_variable
condition_variable();
Конструирует объект типа std::condition_variable
Исключение типа std::system_error
STD::CONDITION_VARIABLE
Уничтожает объект std::condition_variable
~condition_variable();
Не существует потоков, заблокированных по *this
wait()
, wait_for()
или wait_until()
.Уничтожает *this
Нет.
STD::CONDITION_VARIABLE::NOTIFY_ONE
Пробуждает один из потоков, ожидающих std::condition_variable
void notify_one() noexcept;
Пробуждает один из потоков, ожидающих *this
Исключение типа std::system_error
Обращения к функциям notify_one()
notify_all()
, wait()
, wait_for()
и wait_until()
одного и того же объекта std::condition_variable
сериализуются. Обращение к notify_one()
или notify_all()
будит только потоки, запущенные STD::CONDITION_VARIABLE::NOTIFY_ALL
Пробуждает все потоки, ожидающие std::condition_variable
void notify_all() noexcept;
Пробуждает все потоки, ожидающие *this