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
- Наследование
- Атрибуты
Требования к 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() |
Отправляет предварительно выделенный рабочий элемент в пул потоков, не требуя выделения дополнительных ресурсов. |