Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

task_handle Class

The task_handle class represents an individual parallel work item. It encapsulates the instructions and the data required to execute a piece of work.

   typename _Function
class task_handle : public ::Concurrency::details::_UnrealizedChore;


The type of the function object that will be invoked to execute the work represented by the task_handle object.



task_handle::task_handle Constructor

Constructs a new task_handle object. The work of the task is performed by invoking the function specified as a parameter to the constructor.

task_handle::~task_handle Destructor

Destroys the task_handle object.



task_handle::operator() Operator

The function call operator that the runtime invokes to perform the work of the task handle.

task_handle objects can be used in conjunction with a structured_task_group or a more general task_group object, to decompose work into parallel tasks. For more information, see Task Parallelism (Concurrency Runtime).

Note that the creator of a task_handle object is responsible for maintaining the lifetime of the created task_handle object until it is no longer required by the Concurrency Runtime. Typically, this means that the task_handle object must not destruct until either the wait or run_and_wait method of the task_group or structured_task_group to which it is queued has been called.

task_handle objects are typically used in conjunction with C++ lambdas. Because you do not know the true type of the lambda, the make_task function is typically used to create a task_handle object.

The runtime creates a copy of the work function that you pass to a task_handle object. Therefore, any state changes that occur in a function object that you pass to a task_handle object will not appear in your copy of that function object.

Header: ppl.h

Namespace: concurrency

© 2017 Microsoft