Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_01201] текст ещё не импортированUpstream: RS_SHWA_00001
class TaskHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Обеспечивает создание и отправку одиночных, а также параллельных вычислительных задач на устройства-ускорители.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6d7c7c77c2a9ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Обеспечивает создание и отправку одиночных, а также параллельных вычислительных задач на устройства-ускорители.
Класс ara::shwa::TaskHandler служит для выполнения задач на аппаратных ускорителях через отправку в очередь [AP_SWS_SHWA_01203]. Новые экземпляры создаются потокобезопасным образом через статический фабричный метод Create(), возвращающий ошибки в ara::core::Result[AP_SWS_SHWA_01202]. Через SingleTask, а также ParallelFor на целевое устройство могут передаваться одиночные или параллельные по данным вычислительные шаги. Хотя инстанцирование потокобезопасно, отправка задач не является потокобезопасной и требует внешней синхронизации при параллельном доступе.
Контекст
Класс ara::shwa::TaskHandler как финальный класс (final) является частью модуля аппаратного ускорения (shwa) в рамках AUTOSAR Adaptive Platform. Он функционирует как центральный интерфейс для передачи и выполнения вычислительных задач на выбранном целевом устройстве (Device). В структуре программной архитектуры класс выполняет роль посредника между использующим программным компонентом и базовой инфраструктурой исполнения.
Взаимодействие происходит преимущественно между двумя системными участниками: вызывающим приложением и выбранным аппаратным ускорителем либо его очередью задач. Вычислительные операции, определенные приложением, принимаются через интерфейсы ara::shwa::TaskHandler и пересылаются в устройство в виде постановок в очередь [AP_SWS_SHWA_01203]. Это позволяет выполнять как отдельные вычислительные шаги, так и шаблоны обработки с параллелизмом по данным [AP_SWS_SHWA_01204]. Интерпретация: класс, по-видимому, инкапсулирует специфичные для устройства очереди, чтобы компоненты приложения могли управлять ресурсами ускорителя без привязки к низкоуровневым деталям аппаратного обеспечения. Вопрос (открытый)
Жизненный цикл
Жизненный цикл экземпляра ara::shwa::TaskHandler контролируется строгим паттерном «фабрика». Инстанцирование осуществляется исключительно через статический фабричный метод Create()[AP_SWS_SHWA_01202]. Поскольку класс объявлен как final, специализация через наследование исключена. Созданный объект возвращается упакованным в ara::core::Result<TaskHandler>, вследствие чего успешность инициализации должна проверяться явно [AP_SWS_SHWA_01202].
В отношении параллелизма и потокобезопасности класс обладает дифференцированными свойствами:
Инстанцирование: вызов статического метода Create() потокобезопасен (thread-safe) [AP_SWS_SHWA_01202]. Таким образом, несколько потоков могут параллельно создавать новые экземпляры обработчика через фабричный путь.
Отправка задач: методы передачи рабочих заданий, SingleTask[AP_SWS_SHWA_01203] и ParallelFor[AP_SWS_SHWA_01204], явно специфицированы как непотокобезопасные (not thread-safe). Следовательно, к отдельному экземпляру TaskHandler нельзя нескоординированно обращаться из нескольких потоков одновременно; синхронизация возлагается на вызывающую сторону.
Права владения остаются за использующим компонентом, который удерживает экземпляр и уничтожает его, как только постановка новых задач в очередь больше не требуется.
Путь использования
Типичный рабочий процесс подразделяется на этапы создания, конфигурации задания и передачи задачи. Сначала приложение запрашивает новый экземпляр через ara::shwa::TaskHandler::Create()[AP_SWS_SHWA_01202]. После успешной валидации ara::core::Result объект готов к приему рабочих заданий.
Затем приложение выбирает подходящий метод передачи в зависимости от шаблона обработки:
Для индивидуальных вычислительных задач вызывается SingleTask(cfg), в результате чего переданная в качестве параметра функция задачи ставится в очередь выбранного целевого устройства [AP_SWS_SHWA_01203].
Для параллельных по данным шаблонов обработки доступен шаблон функции ParallelFor(bufferSize, cfg)[AP_SWS_SHWA_01204]. При этом, помимо конфигурации, дополнительно передается размер буфера (bufferSize) для управления параллельной обработкой по нескольким элементам данных на устройстве-ускорителе.
Интерпретация: параметр шаблона T, вероятно, представляет собой вызываемую функцию, лямбда-выражение или соответствующую конфигурацию задачи, которая инкапсулирует исполняемую логику вычислений на Device. Вопрос Q-2fca8604440b44e9 (открытый)
Обработка ошибок в ara::shwa::TaskHandler следует парадигме без использования исключений (noexcept) Adaptive Platform.
Состояния ошибок возникают преимущественно во время инстанцирования:
Фабричный метод Create() сообщает о неудачах через канал ошибок в возвращаемом значении ara::core::Result[AP_SWS_SHWA_01202].
В качестве конкретного идентификатора ошибки определен ShwaErrorCode::kRuntime, сигнализирующий об общих ошибках времени выполнения при создании объекта [AP_SWS_SHWA_01202]. Благодаря заданной семантике отката гарантируется, что в случае сбоя не возникнет частично инициализированных состояний или утечек ресурсов [AP_SWS_SHWA_01202].
Вызовы SingleTask[AP_SWS_SHWA_01203] и ParallelFor[AP_SWS_SHWA_01204] не возвращают значения (void) и не возбуждают исключений. Поэтому вызывающие стороны должны убедиться, что экземпляр обработчика действителен, а обращения при параллельных потоках синхронизированы извне.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал