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

std::packaged_task

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

 
 
Библиотека поддержки потоков
Потоки
Оригинал:
Threads
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
thread(C++11)
this_thread имен
Оригинал:
this_thread namespace
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
Взаимное исключение
Оригинал:
Mutual exclusion
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
mutex(C++11)
timed_mutex(C++11)
Generic управления замком
Оригинал:
Generic lock management
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
Futures
Оригинал:
Futures
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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)
 
std::packaged_task
Член функций
Оригинал:
Member functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
packaged_task::packaged_task
packaged_task::~packaged_task
packaged_task::operator=
packaged_task::valid
packaged_task::swap
Получение результата
Оригинал:
Getting the result
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
packaged_task::get_future
Выполнение
Оригинал:
Execution
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
packaged_task::operator()
packaged_task::make_ready_at_thread_exit
packaged_task::reset
 
Определено в заголовочном файле <future>
template< class > class packaged_task; //not defined
(1) (начиная с C++11)
template< class R, class Args... >
class packaged_task<R(Args...)>;
(2) (начиная с C++11)
std::packaged_task шаблон класса обертывания любой вызываемый цели (функции, лямбда-выражения, связывают выражение или другой функции объекта), так что он может быть вызван асинхронно, и его значение возврата или исключение хранятся в общей государства, которые могут быть доступны через std::future Объекты.
Оригинал:
The class template std::packaged_task wraps any callable target (function, lambda expression, bind expression, or another function object) so that it can be invoked asynchronously, and its return value or exception thrown is stored in the shared state, which can be accessed through std::future objects.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Так же, как std::function, std::packaged_task является полиморфным, распределитель-Aware контейнера: хранить вызываемые цели может быть выделено на куче или с предоставлена ​​распределитель.
Оригинал:
Just like std::function, std::packaged_task is a polymorphic, allocator-aware container: the stored callable target may be allocated on heap or with a provided allocator.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

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

строит объект задачи
Оригинал:
constructs the task object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
разрушает объект задачи
Оригинал:
destructs the task object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
перемещает объект задачи
Оригинал:
moves the task object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
проверяет, является ли объект задачи имеет действительную функцию
Оригинал:
checks if the task object has a valid function
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
свопы двух объектов задачу
Оригинал:
swaps two task objects
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
Получение результата
Оригинал:
Getting the result
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
возвращает std::future связанные с обещанный результат
Оригинал:
returns a std::future associated with the promised result
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
Выполнение
Оригинал:
Execution
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
выполняет функцию
Оригинал:
executes the function
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
выполняет функцию обеспечения того, чтобы результат готов только один раз текущий поток существует
Оригинал:
executes the function ensuring that the result is ready only once the current thread exits
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
Сбрасывает состояние отказа от любых хранятся результаты предыдущих казней
Оригинал:
resets the state abandoning any stored results of previous executions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]

[править] Функции, не являющиеся членами

Специализируется std::swap алгоритм
Оригинал:
specializes the std::swap algorithm
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон функции) [edit]

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

Специализируется черта std::uses_allocator типа
Оригинал:
specializes the std::uses_allocator type trait
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(специализация шаблона класса) [edit]

[править] Пример

#include <iostream>
#include <future>
#include <thread>
 
int main()
{
    std::packaged_task<int()> task([](){return 7;}); // wrap the function
    std::future<int> result = task.get_future();  // get a future
    std::thread(std::move(task)).detach(); // launch on a thread
    std::cout << "Waiting...";
    result.wait();
    std::cout << "Done!\nResult is " << result.get() << '\n';
}

Вывод:

Waiting...Done!
Result is 7

[править] См. также

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

(шаблон класса) [edit]