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: Количество потоков для многопоточного режима