Поделиться через


PreallocatedWorkItem Класс

Определение

Предварительно выбранный рабочий элемент создается перед его отправкой в пул потоков, гарантируя, что рабочий элемент создан таким образом, чтобы при необходимости его можно было отправить в пул потоков. Например, объект PreallocatedWorkItem можно создать в случае, если он необходим для процедуры освобождения ресурсов, так как подпрограмма освобождения ресурсов может вызываться в ситуациях, когда для создания рабочего элемента будет недостаточно ресурсов.

Примечание

API ThreadPool поддерживается как для классических приложений, так и для приложений 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
Наследование
Object Platform::Object IInspectable PreallocatedWorkItem
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Конструкторы

PreallocatedWorkItem(WorkItemHandler)

Инициализирует новый рабочий элемент делегатом WorkItemHandler , заранее выделяя ресурсы для рабочего элемента.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority)

Инициализирует новый рабочий элемент делегатом WorkItemHandler , заранее выделяя ресурсы для рабочего элемента и указывая приоритет рабочего элемента относительно других рабочих элементов в пуле потоков.

PreallocatedWorkItem(WorkItemHandler, WorkItemPriority, WorkItemOptions)

Инициализирует новый рабочий элемент делегатом WorkItemHandler , заранее выделяя ресурсы для рабочего элемента и указывая приоритет рабочего элемента относительно других рабочих элементов в пуле потоков. Также указывает, как пул потоков будет выделять время процессора для рабочего элемента.

Методы

RunAsync()

Отправляет предварительно выделенный рабочий элемент в пул потоков, не требуя выделения дополнительных ресурсов.

Применяется к