
std:: async - cppreference.com
Oct 28, 2024 · The function template std::async runs the function f asynchronously (potentially in a separate thread which might be a part of a thread pool) and returns a std::future that will eventually …
std::future - cppreference.com
Mar 12, 2024 · An asynchronous operation (created via std::async, std::packaged_task, or std::promise) can provide a std::future object to the creator of that asynchronous operation. The creator of the …
Coroutines (C++20) - cppreference.com
Mar 5, 2025 · A coroutine is a function that can suspend execution to be resumed later. Coroutines are stackless: they suspend execution by returning to the caller, and the data that is required to resume …
Concurrency support library (since C++11) - cppreference.com
Apr 29, 2025 · 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 …
Multi-threaded executions and data races (since C++11)
Jan 15, 2025 · A thread of execution is a flow of control within a program that begins with the invocation of a specific top-level function (by std::thread, std::async, std::jthread (since C++20) or other means), …
std::promise - cppreference.com
Oct 23, 2023 · The class template std::promise provides a facility to store a value or an exception that is later acquired asynchronously via a std::future object created by the std::promise object. Note that …
std::launch - cppreference.com
Mar 19, 2025 · std::launch is a BitmaskType. It specifies the launch policy for a task executed by the std::async function. Constants The following constants denoting individual bits are defined by the …
std::future<T>::wait_for - cppreference.com
Aug 27, 2021 · Waits for the result to become available. Blocks until specified timeout_duration has elapsed or the result becomes available, whichever comes first. The return value identifies the state …
std::packaged_task - cppreference.com
Feb 10, 2025 · 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. Its …
std::future<T>::wait - cppreference.com
Aug 27, 2021 · Blocks until the result becomes available. valid() == true after the call. The behavior is undefined if valid() == false before the call to this function.