Not
Å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.
Syntax
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 |
|---|---|
| task_handle | 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 Destructor | Destroys the task_handle object. |
Public Operators
| Name | Description |
|---|---|
| operator() | 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.
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
operator()
The function call operator that the runtime invokes to perform the work of the task handle.
void operator()() const;
task_handle
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(const _Function& _Func);
Parameters
_Func
The function that will be invoked to execute the work represented by the task_handle object. This may be a lambda functor, a pointer to a function, or any object that supports a version of the function call operator with the signature void operator()().
Remarks
The runtime creates a copy of the work function that you pass to the constructor. 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.
~task_handle
Destroys the task_handle object.
~task_handle();
See also
concurrency Namespace
task_group Class
structured_task_group Class