Class BoundedTaskRunner
Запускает задачи с ограниченным параллелизмом.
Implements
Inherited Members
Namespace: Ascon.Vertical.Core
Assembly: Ascon.Vertical.Core.dll
Syntax
public sealed class BoundedTaskRunner : IDisposable
Constructors
BoundedTaskRunner(int)
Создает новый экземпляр класса BoundedTaskRunner.
Declaration
public BoundedTaskRunner(int maxTasksCount)
Parameters
| Type | Name | Description |
|---|---|---|
| int | maxTasksCount | Максимальное количество задач, которые могут быть запущены параллельно. |
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
RunTask(Func<Task>)
Синхронно ожидает свободного слота и запускает задачу.
Declaration
public void RunTask(Func<Task> action)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<Task> | action | Действие для выполнения. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Значение |
RunTaskAsync(Func<Task>, CancellationToken)
Асинхронно ожидает свободного слота и запускает задачу.
Declaration
public Task RunTaskAsync(Func<Task> action, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<Task> | action | Асинхронное действие для выполнения. |
| CancellationToken | cancellationToken | Признак отмены. |
Returns
| Type | Description |
|---|---|
| Task | Выполняемая задача. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Значение |
WaitAll()
Синхронно ожидает завершения всех запущенных задач.
Declaration
public void WaitAll()
Remarks
Если во время выполнения какой-либо задачи возникло исключение — оно будет выброшено.
WaitAllAsync()
Асинхронно ожидает завершения всех запущенных задач.
Declaration
public Task WaitAllAsync()
Returns
| Type | Description |
|---|---|
| Task | Выполняемая задача. |
Remarks
Если во время выполнения какой-либо задачи возникло исключение — оно будет выброшено.