From cppreference.com
enumclasslaunch:/* unspecified */{async=/* unspecified */,deferred=/* unspecified */,/* implementation-defined */};(since C++11)std::launch is a
. It specifies the launch policy for a task executed by the
function.
Constants
The following constants denoting individual bits are defined by the standard library:
Enumerator Meaning asyncthe task is executed on a different thread, potentially by creating and launching it first deferredthe 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
.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
C++11 std::launch was an implementation-defined type it is not implementation-defined See also
(C++11)
runs a function asynchronously (potentially in a new thread) and returns a
that will hold the result
(function template)