Bagikan melalui


PreallocatedWorkItem Kelas

Definisi

Item kerja yang telah dialokasikan sebelumnya dibangun sebelum pengirimannya ke kumpulan utas, memastikan bahwa item kerja dibuat sehingga dapat dikirimkan ke kumpulan utas bila perlu. Misalnya, PreallocatedWorkItem dapat dibuat jika diperlukan untuk rutinitas dealokasi sumber daya, karena rutinitas dealokasi sumber daya dapat dipanggil dalam keadaan ketika tidak cukup sumber daya akan tersedia untuk membuat item kerja.

Catatan

ThreadPool API didukung untuk desktop serta aplikasi 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
Warisan
Object Platform::Object IInspectable PreallocatedWorkItem
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Konstruktor

PreallocatedWorkItem(WorkItemHandler)

Menginisialisasi item kerja baru dengan delegasi WorkItemHandler , mengalokasikan sumber daya untuk item kerja terlebih dahulu.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority)

Menginisialisasi item kerja baru dengan delegasi WorkItemHandler , mengalokasikan sumber daya untuk item kerja terlebih dahulu, dan menentukan prioritas item kerja yang relatif terhadap item kerja lain di kumpulan utas.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions)

Menginisialisasi item kerja baru dengan delegasi WorkItemHandler , mengalokasikan sumber daya untuk item kerja terlebih dahulu, dan menentukan prioritas item kerja yang relatif terhadap item kerja lain di kumpulan utas. Juga menentukan bagaimana kumpulan utas akan mengalokasikan waktu prosesor untuk item kerja.

Metode

RunAsync()

Mengirimkan item kerja yang telah dialokasikan sebelumnya ke kumpulan utas, tanpa memerlukan sumber daya tambahan untuk dialokasikan.

Berlaku untuk