Condividi tramite


PreallocatedWorkItem Classe

Definizione

Un elemento di lavoro preallocato viene costruito in anticipo dell'invio al pool di thread, assicurandosi che l'elemento di lavoro venga costruito in modo che possa essere inviato al pool di thread quando necessario. Ad esempio, è possibile creare un oggetto PreallocatedWorkItem nel caso in cui sia necessario per una routine di deallocazione delle risorse, poiché la routine di deallocation delle risorse può essere chiamata in circostanze in cui non sarebbero disponibili risorse sufficienti per creare l'elemento di lavoro.

Nota

L'API ThreadPool è supportata per desktop e app UWP.

public ref class PreallocatedWorkItem sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.System.Threading.Core.IPreallocatedWorkItemFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PreallocatedWorkItem final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.System.Threading.Core.IPreallocatedWorkItemFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class PreallocatedWorkItem final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.Threading.Core.IPreallocatedWorkItemFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class PreallocatedWorkItem
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.Threading.Core.IPreallocatedWorkItemFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class PreallocatedWorkItem
Public NotInheritable Class PreallocatedWorkItem
Ereditarietà
Object Platform::Object IInspectable PreallocatedWorkItem
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Costruttori

PreallocatedWorkItem(WorkItemHandler)

Inizializza un nuovo elemento di lavoro con un delegato WorkItemHandler , assegnando le risorse per l'elemento di lavoro in anticipo.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority)

Inizializza un nuovo elemento di lavoro con un delegato WorkItemHandler , assegnando risorse per l'elemento di lavoro in anticipo e specifica la priorità dell'elemento di lavoro rispetto ad altri elementi di lavoro nel pool di thread.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions)

Inizializza un nuovo elemento di lavoro con un delegato WorkItemHandler , assegnando risorse per l'elemento di lavoro in anticipo e specifica la priorità dell'elemento di lavoro rispetto ad altri elementi di lavoro nel pool di thread. Specifica anche come il pool di thread alloca il tempo del processore per l'elemento di lavoro.

Metodi

RunAsync()

Invia l'elemento di lavoro preallocato al pool di thread, senza richiedere l'allocazione di risorse aggiuntive.

Si applica a