Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
The task_handle class represents an individual parallel work item. It encapsulates the instructions and the data required to execute a piece of work.
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parameters
- _Function
The type of the function object that will be invoked to execute the work represented by the task_handle object.
Members
Public Constructors
Name |
Description |
|---|---|
Constructs a new task_handle object. The work of the task is performed by invoking the function specified as a parameter to the constructor. |
|
Destroys the task_handle object. |
Public Operators
Name |
Description |
|---|---|
The function call operator that the runtime invokes to perform the work of the task handle. |
Remarks
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.
Inheritance Hierarchy
task_handle
Requirements
Header: ppl.h
Namespace: concurrency
See Also
Reference
task_group::run_and_wait Method
structured_task_group::run Method