PreallocatedWorkItem PreallocatedWorkItem PreallocatedWorkItem Class

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.

Syntax

Declaration

public sealed class PreallocatedWorkItempublic sealed class PreallocatedWorkItemPublic NotInheritable Class PreallocatedWorkItem

Constructors summary

Initializes a new work item with a WorkItemHandler delegate, allocating resources for the work item in advance.

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.

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.

Methods summary

Submits the preallocated work item to the thread pool, without requiring any additional resources to be allocated.

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 New(WorkItemHandler handler)Public Sub New(handler As WorkItemHandler)public PreallocatedWorkItem(WorkItemHandler handler)

    Parameters

    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 New(WorkItemHandler handler, WorkItemPriority priority)Public Sub New(handler As WorkItemHandler, priority As WorkItemPriority)public PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority)

    Parameters

    Remarks

    See the remarks section of the @Windows.System.Threading.Core.PreallocatedWorkItem.#ctor(Windows.System.Threading.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 New(WorkItemHandler handler, WorkItemPriority priority, WorkItemOptions options)Public Sub New(handler As WorkItemHandler, priority As WorkItemPriority, options As WorkItemOptions)public PreallocatedWorkItem(WorkItemHandler handler, WorkItemPriority priority, WorkItemOptions options)

    Parameters

    Remarks

    See the remarks section of the @Windows.System.Threading.Core.PreallocatedWorkItem.#ctor(Windows.System.Threading.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 IAsyncActionpublic IAsyncAction RunAsync()

    Returns

    Remarks

    For information about how IAsyncAction applies to work items, see RunAsync(WorkItemHandler, WorkItemPriority).

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ActivatableAttribute
Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.ThreadingAttribute
Windows.Foundation.Metadata.WebHostHiddenAttribute

Details

Assembly

Windows.System.Threading.Core.dll