std::launch(3) | C++ Standard Libary | std::launch(3) |
NAME¶
std::launch - std::launch
Synopsis¶
Defined in header <future>
enum class launch : /* unspecified */ {
async = /* unspecified */,
deferred = /* unspecified */, (since C++11)
/* implementation-defined */
};
std::launch is a BitmaskType. It specifies the launch policy for a task
executed by
the std::async function.
The following constants denoting individual bits are defined by the standard
library:
Constant Explanation
std::launch::async the task is executed on a different thread, potentially by
creating and launching it first
std::launch::deferred the task is executed on the calling thread the first
time its
result is requested (lazy evaluation)
In addition, implementations are allowed to:
* define additional bits and bitmasks to specify restrictions on task
interactions
applicable to a subset of launch policies, and
* enable those additional bitmasks for the first (default) overload of
std::async.
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG 2102 C++11 std::launch was an it is not
implementation-defined type implementation-defined
See also¶
async runs a function asynchronously (potentially in a new
thread) and returns a
(C++11) std::future that will hold the result
(function template)
2024.06.10 | http://cppreference.com |