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

Библиотека поддержки потоков

Материал из cppreference.com
< cpp
 
 
Библиотека поддержки потоков
Потоки
Оригинал:
Threads
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
thread(C++11)
this_thread имен
Оригинал:
this_thread namespace
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
Взаимное исключение
Оригинал:
Mutual exclusion
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
mutex(C++11)
timed_mutex(C++11)
Generic управления замком
Оригинал:
Generic lock management
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
lock_guard(C++11)
unique_lock(C++11)
defer_lock_t
try_to_lock_t
adopt_lock_t
(C++11)
(C++11)
(C++11)
lock(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Условия переменных
Оригинал:
Condition variables
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
Futures
Оригинал:
Futures
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
promise(C++11)
future(C++11)
shared_future(C++11)
packaged_task(C++11)
async(C++11)
launch(C++11)
future_status(C++11)
future_error(C++11)
future_category(C++11)
future_errc(C++11)
 

В C++ имеется поддержка потоков, взаимных исключений (мьютексов), условных переменных и фьючеров.

Содержание

[править] Потоки

Потоки позволяют программам выполняться на нескольких ядрах процессора.

Заголовочный файл <thread>
(C++11)
управляет отдельным потоком
(класс) [править]
Функции управления текущим потоком
Пространство имён this_thread
(C++11)
предполагает, что конкретная реализация перераспределит выполнение потоков
(функция) [править]
(C++11)
возвращает идентификатор потока из текущего потока
Оригинал:
returns the thread id of the current thread
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
(C++11)
останавливает выполнение текущего потока в течение указанного периода времени
Оригинал:
stops the execution of the current thread for a specified time duration
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
останавливает выполнение текущего потока до указанного момента времени
(функция) [править]

[править] Взаимные исключения (мьютексы)

Алгоритмы взаимных исключений предотвращают одновременный доступ нескольких потоков к разделяемым ресурсам. Это позволяет исключить гонку данных и обеспечить синхронизацию между потоками.

Заголовочный файл <mutex>
(C++11)
базовый мьютекс
(класс) [править]
мьютекс с тайм-аутом
(класс) [править]
мьютекс, который может быть заблокирован рекурсивно из того же потока
(класс) [править]
мьютекс с таймаутом, который может быть заблокирован рекурсивно из того же потока
(класс) [править]
Заголовочный файл <shared_mutex>
provides shared mutual exclusion facility
(класс) [править]
provides shared mutual exclusion facility
(класс) [править]
Основное управление мьютексами
реализует обёртку владения мьютексом строго в области видимости
(шаблон класса) [править]
реализует подвижного мьютекс собственности обертку
Оригинал:
implements movable mutex ownership wrapper
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]
тип тега используется для указания замок стратегии
Оригинал:
tag type used to specify locking strategy
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(класс) [править]
Тег константы используются для определения замок стратегии
Оригинал:
tag constants used to specify locking strategy
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(константа) [править]
Основные алгоритмы блокировки
(C++11)
Попытки получить право собственности мьютексов через неоднократные призывы к try_lock
Оригинал:
attempts to obtain ownership of mutexes via repeated calls to try_lock
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]
(C++11)
Замки указанных мьютексы, блоки, если таковые пока нет
Оригинал:
locks specified mutexes, blocks if any are unavailable
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]
Однократный вызов
(C++11)
вспомогательный объект, чтобы убедиться, что call_once вызывает функцию только один раз
Оригинал:
helper object to ensure that call_once invokes the function only once
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(класс) [править]
(C++11)
вызывает функцию только один раз, даже если вызывать из нескольких потоков
Оригинал:
invokes a function only once even if called from multiple threads
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]

[править] Условные переменные

Условная переменная - это примитив синхронизации, который позволяет потокам общаться друг с другом. Это позволяет нескольким потокам ждать (возможно с таймером) сообщения от другого потока о том, что они могут продолжить свою работу. Условные переменные всегда ассоциированы с мьютексами.

Заголовочный файл <condition_variable>
provides a condition variable associated with a std::unique_lock
(класс)
provides a condition variable associated with any lock type
(класс)
schedules a call to notify_all to be invoked when this thread is completely finished
(функция)
(C++11)
lists the possible results of timed waits on condition variables
(перечисление)

[править] Futures

The standard library provides facilities to obtain values that are returned and to catch exceptions that are thrown by asynchronous tasks (i.e. functions launched in separate threads). These values are communicated in a shared state, in which the asynchronous task may write its return value or store an exception, and which may be examined, waited for, and otherwise manipulated by other threads that hold instances of std::future or std::shared_future that reference that shared state.

Заголовочный файл <future>
(C++11)
сохраняет значение для асинхронного поиска
Оригинал:
stores a value for asynchronous retrieval
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]
Пакеты функции для хранения возвращаемого значения для асинхронных поиска
Оригинал:
packages a function to store its return value for asynchronous retrieval
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]
(C++11)
ожидает значение, которое устанавливается в асинхронном режиме
Оригинал:
waits for a value that is set asynchronously
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]
ждет значения (возможно, ссылаются другие фьючерсы), который устанавливается в асинхронном режиме
Оригинал:
waits for a value (possibly referenced by other futures) that is set asynchronously
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]
(C++11)
запускает функцию асинхронно (возможно, в новом потоке) и возвращает std::future, который будет содержать результат
Оригинал:
runs a function asynchronously (potentially in a new thread) and returns a std::future that will hold the result
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [править]
(C++11)
определяет запуск политику std::async
Оригинал:
specifies the launch policy for std::async
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(перечисление) [править]
определяет результаты своевременной ждет осуществляется на std::future и std::shared_future
Оригинал:
specifies the results of timed waits performed on std::future and std::shared_future
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(перечисление) [править]
Future errors
сообщает об ошибке, связанной с фьючерсами или обещания
Оригинал:
reports an error related to futures or promises
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(класс) [править]
определяет будущее категорию ошибки
Оригинал:
identifies the future error category
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
определяет будущее кодов ошибок
Оригинал:
identifies the future error codes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(перечисление) [править]