< cpp‎ | thread
Revision as of 20:48, 2 November 2012 by P12bot (Talk | contribs)

Defined in header <future>
enum class launch : /* unspecified */ {

    async =    /* unspecified */,
    deferred = /* unspecified */,
    /* implementation-defined */

(since C++11)

Specifies the launch policy for a task executed by the std::async function. std::launch is a BitmaskType (enumeration, integer, or bitset).

The following constants denoting individual bits are defined by the standard library:

Constant Explanation
std::launch::async a new thread is launched to execute the task asynchronously
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.

See also

Template:cpp/thread/dcl list async