Пространства имён
Варианты
Действия

std::condition_variable_any

Материал из cppreference.com
< cpp‎ | thread

 
 
Библиотека поддержки конкуренции
Ветви
(C++11)
(C++20)
(C++20)
Пространство имён this_thread
(C++11)
(C++11)
(C++11)
Атомарные типы
(C++11)
(C++20)
Инициализация атомарных типов
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
Функции освобождения для атомарных операций
Функции освобождения для атомарных флагов
Упорядочивание памяти
Взаимное исключение
(C++11)
Общее управление блокировкой
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Условные переменные
condition_variable_any
(C++11)
(C++11)
Семафоры
Защёлки и барьеры
(C++20)
(C++20)
Фьючерсы
(C++11)
(C++11)
(C++11)
(C++11)
 
std::condition_variable_any
Функции-члены
Уведомление
Оригинал:
Notification
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Ожидание
Оригинал:
Waiting
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
Определено в заголовочном файле <condition_variable>
class condition_variable_any;
(начиная с C++11)
condition_variable_any класса является обобщением std::condition_variable. В то время как std::condition_variable работает только на std::unique_lock<std::mutex>, condition_variable_any может работать на любой пользовательской блокировки, которая отвечает требованиям BasicLockable.
Оригинал:
The condition_variable_any class is a generalization of std::condition_variable. Whereas std::condition_variable works only on std::unique_lock<std::mutex>, condition_variable_any can operate on any user-defined lock that meets the BasicLockable requirements.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
condition_variable_any предоставляет аналогичные функциональные возможности std::condition_variable. Это примитив синхронизации, которые могут быть использованы, чтобы блокировать некоторые числа потоков до:
Оригинал:
condition_variable_any provides similar functionality to std::condition_variable. It is a synchronization primitive that can be used to block some number of threads until:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • получения уведомления от другого потока
    Оригинал:
    a notification is received from another thread
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • тайм-аута, или
    Оригинал:
    a timeout expires, or
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • ложные пробуждения происходит
    Оригинал:
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Любой поток, который намерен ждать на std::condition_variable_any должен получить блокировку в первую очередь. Ожидание операции атомарно освободить блокировку и приостановить выполнение потока. Когда переменная условия уведомления, поток пробуждается, и блокировка приобрело.
Оригинал:
Any thread that intends to wait on std::condition_variable_any has to acquire a lock first. The wait operations atomically release the lock and suspend the execution of the thread. When the condition variable is notified, the thread is awakened, and the lock is reacquired.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Класс std::condition_variable_any является стандартным макетом класса. Это не копия, конструктивных, перемещение конструктивных, скопируйте переуступке, или перемещение назначаемые.
Оригинал:
The class std::condition_variable_any is a standard-layout class. It is not copy-constructible, move-constructible, copy-assignable, or move-assignable.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если блокировка std::unique_lock, std::condition_variable может обеспечить более высокую производительность.
Оригинал:
If the lock is std::unique_lock, std::condition_variable may provide better performance.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Функции-члены

создаёт объект
(public функция-элемент) [править]
разрушает объект
(public функция-элемент) [править]
operator=
[удалено]
без копирования присваиванием
(public функция-элемент) [править]
Уведомление
Оригинал:
Notification
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
уведомляет один ожидающий поток
(public функция-элемент) [править]
уведомляет все ожидающие потоки
(public функция-элемент) [править]
Ожидание
Оригинал:
Waiting
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
блокирует текущий поток до тех пор, пока условная переменная не будет активирована
(public функция-элемент) [править]
блокирует текущий поток до тех пор, пока условная переменная не будет активирована или по истечении указанного времени ожидания
(public функция-элемент) [править]
блокирует текущий поток до тех пор, пока условная переменная не будет активирована или пока не будет достигнут указанный момент времени
(public функция-элемент) [править]