PreallocatedWorkItem
PreallocatedWorkItem
PreallocatedWorkItem
PreallocatedWorkItem
Class
Definition
A preallocated work item is constructed in advance of its submission to the thread pool, ensuring that the work item is constructed so that it can be submitted to the thread pool when necessary. For example, a PreallocatedWorkItem can be created in case it is needed for a resource deallocation routine, since the resource deallocation routine may be called in circumstances when not enough resources would be available to create the work item.
Note
The ThreadPool API is supported for desktop as well as Windows Store apps.
public : sealed class PreallocatedWorkItem : IPreallocatedWorkItempublic sealed class PreallocatedWorkItem : IPreallocatedWorkItemPublic NotInheritable Class PreallocatedWorkItem Implements IPreallocatedWorkItem// This API is not available in Javascript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Constructors
PreallocatedWorkItem(WorkItemHandler) PreallocatedWorkItem(WorkItemHandler) PreallocatedWorkItem(WorkItemHandler) PreallocatedWorkItem(WorkItemHandler)
Initializes a new work item with a WorkItemHandler delegate, allocating resources for the work item in advance.
public : PreallocatedWorkItem(WorkItemHandler handler)public PreallocatedWorkItem(WorkItemHandler handler)Public Sub New(handler As WorkItemHandler)// This API is not available in Javascript.
Indicates the method that the preallocated work item will run.
Remarks
In C++, make sure that methods used as WorkItemHandler delegates exhibit agile threading model behavior. Calling a non-agile method from a work item will cause a deadlock to occur.
PreallocatedWorkItem(WorkItemHandler, WorkItemPriority) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority)
Initializes a new work item with a WorkItemHandler delegate, allocating resources for the work item in advance, and specifies the priority of the work item relative to other work items in the thread pool.
public : PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority)public PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority)Public Sub New(handler As WorkItemHandler, priority As WorkItemPriority)// This API is not available in Javascript.
Indicates the method that the preallocated work item will run.
The priority of the work item relative to other work items in the thread pool. The value of this parameter can be Low, Normal, or High.
Remarks
See the remarks section of the PreallocatedWorkItem(WorkItemHandler) overload.
PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions) PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions)
Initializes a new work item with a WorkItemHandler delegate, allocating resources for the work item in advance, and specifies the priority of the work item relative to other work items in the thread pool. Also specifies how the thread pool will allocate processor time for the work item.
public : PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority, WorkItemOptions options)public PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority, WorkItemOptions options)Public Sub New(handler As WorkItemHandler, priority As WorkItemPriority, options As WorkItemOptions)// This API is not available in Javascript.
Indicates the method that the preallocated work item will run.
The priority of the work item relative to other work items in the thread pool. The value of this parameter can be Low, Normal, or High.
If this parameter is set to TimeSliced, the work item runs simultaneously with other time-sliced work items, with each work item receiving a share of processor time. If this parameter is set to None, the work item runs when a worker thread becomes available.
Remarks
See the remarks section of the PreallocatedWorkItem(WorkItemHandler) overload.
Methods
RunAsync() RunAsync() RunAsync() RunAsync()
Submits the preallocated work item to the thread pool, without requiring any additional resources to be allocated.
public : IAsyncAction RunAsync()public IAsyncAction RunAsync()Public Function RunAsync() As IAsyncAction// This API is not available in Javascript.
Provides access to the running IAsyncAction that was previously constructed and given the necessary resource allocation.
Remarks
For information about how IAsyncAction applies to work items, see Windows.System.Threading.RunAsync.
- See Also