TaskManager

public static TaskMetrics Metrics { get; }

Language: C#

Return Value: new()

Метрики выполнения задач

public static void Initialize(bool renderMultiThreaded = false, int renderThreadCount = 1)

Language: C#

Инициализирует менеджер задач

Parameters:

  • renderMultiThreaded: Флаг, указывающий, использовать ли многопоточный режим рендеринга
  • renderThreadCount: Количество потоков для рендеринга в многопоточном режиме

public static void AddTask(ITask task)

Language: C#

Добавляет задачу в менеджер задач

Parameters:

  • task: Задача для добавления

public static TaskAwaiter<T> AddTask(ITask<T> task)

Language: C#

Добавляет задачу в менеджер задач и возвращает ожидатель результата

Type Parameters:

  • T: Тип результата задачи

Parameters:

  • task: Задача для добавления

Returns: Ожидатель результата задачи

public static TaskAwaiter AddTaskAsync(Action action, TaskCategory category = TaskCategory.General, TaskPriority priority = TaskPriority.Normal)

Language: C#

Добавляет асинхронную задачу и возвращает ожидатель её завершения

Parameters:

  • action: Действие для выполнения
  • category: Категория задачи
  • priority: Приоритет задачи

Returns: Ожидатель завершения задачи

public static async Task<T> RunAsync(Func<T> work, TaskCategory category = TaskCategory.General, TaskPriority priority = TaskPriority.Normal)

Language: C#

Добавляет асинхронную задачу с результатом и возвращает ожидатель результата

Type Parameters:

  • T: Тип результата задачи

Parameters:

  • work: Функция, выполняющая задачу
  • category: Категория задачи
  • priority: Приоритет задачи

Returns: Ожидатель результата задачи

public static void AddTask(Action task, Func<bool> condition, Func<bool> expires)

Language: C#

Добавляет простую задачу в менеджер задач

Parameters:

  • task: Действие для выполнения
  • condition: Условие выполнения задачи
  • expires: Условие истечения срока задачи

public static void AddTask(Action task, Func<bool> condition)

Language: C#

Добавляет простую задачу в менеджер задач

Parameters:

  • task: Действие для выполнения
  • condition: Условие выполнения задачи

public static void AddTask(Action task, bool needWait = false)

Language: C#

Добавляет простую задачу в менеджер задач

Parameters:

  • task: Действие для выполнения
  • needWait: Флаг, указывающий, нужно ли ждать завершения задачи

public static void AddTaskWithRetry(ITask task, RetryPolicy? retryPolicy = null)

Language: C#

Добавляет задачу с политикой повторных попыток в менеджер задач

Parameters:

  • task: Задача для выполнения
  • retryPolicy: Политика повторных попыток

public static void AddRenderTask(ITask task)

Language: C#

Добавляет рендер задачу в менеджер задач

Parameters:

  • task: Задача для выполнения

public static void AddRenderTask(Action task)

Language: C#

Добавляет рендер задачу в менеджер задач

Parameters:

  • task: Действие для выполнения

public static void CancelAllTasks(TaskCategory? category = null)

Language: C#

Отменяет все активные задачи или задачи определённой категории

Parameters:

  • category: Категория задач для отмены. Если null, отменяются все задачи.

public static bool IsTaskActive(ITask task)

Language: C#

Проверяет, активна ли задача

Parameters:

  • task: Задача для проверки

Returns: True, если задача активна, иначе false

public static IEnumerable<TaskInfo> GetActiveTasks()

Language: C#

Получает список всех активных задач

Returns: Список информации об активных задачах

public static void WaitAll()

Language: C#

Ожидает завершения всех активных задач

public static void Wait()

Language: C#

Ожидает завершения всех задач, требующих ожидания

public static bool Wait(TimeSpan timeout)

Language: C#

Ожидает завершения всех задач, требующих ожидания, с таймаутом

Parameters:

  • timeout: Максимальное время ожидания

Returns: True, если все задачи завершились до истечения таймаута, иначе false

public static void RenderUpdate()

Language: C#

Обновляет рендер задачи в однопоточном режиме

public static void Shutdown()

Language: C#

Завершает работу менеджера задач и освобождает ресурсы

public static void SetRenderMode(bool multiThreaded, int threadCount = 1)

Language: C#

Устанавливает режим рендеринга (однопоточный или многопоточный)

Parameters:

  • multiThreaded: Если true, устанавливается многопоточный режим рендеринга
  • threadCount: Количество потоков для многопоточного режима