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_00901] текст ещё не импортированUpstream: RS_SHWA_00001
class Queue final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Служит каналом выполнения для передачи и синхронизации задач на аппаратном ускорителе.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 532df7849f07ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит каналом выполнения для передачи и синхронизации задач на аппаратном ускорителе.
Класс ara::shwa::Queue представляет в Adaptive Platform центральный канал выполнения для безопасного аппаратного ускорения. Как иллюстрирует общая архитектура, приложения обычно взаимодействуют с комбинацией из нескольких очередей, устройств и буферов SWS_SafeHardwareAcceleration с. 22 «Figure 7.1: High Level Design of Safe Hardware Acceleration in an Adaptive Platform». В рамках этого взаимодействия очередь берет на себя задачу приема вычислительных задач или заданий ускорения и их перенаправления на базовое аппаратное устройство. С помощью GetDevice() можно запросить назначенное устройство [AP_SWS_SHWA_00910]. Кроме того, с помощью IsInOrder() можно определить, обрабатываются ли задания в очереди строго последовательно [AP_SWS_SHWA_00911]. Специфические возможности или параметры очереди можно предварительно проверить через HasProperty()[AP_SWS_SHWA_00915] и получить с помощью GetProperty()[AP_SWS_SHWA_00916].
Экземпляры ara::shwa::Queue подчиняются строгой модели владения. Как конструктор по умолчанию [AP_SWS_SHWA_00902], так и операции копирования и перемещения явно удалены: конструктор копирования [AP_SWS_SHWA_00903], оператор присваивания копированием [AP_SWS_SHWA_00904], конструктор перемещения [AP_SWS_SHWA_00905] и оператор присваивания перемещением [AP_SWS_SHWA_00906] недоступны. Таким образом, очередь не является ни копируемой, ни перемещаемой (интерпретация: она представляет собой жестко закрепленный ресурс). Вопрос Q-9ce33460e375c45f (открытый)
Создание выполняется исключительно через статические фабричные методы Create(), которые возвращают объект, инкапсулированный в std::unique_ptr<Queue> внутри ara::core::Result. Инстанцирование может выполняться либо на основе существующей ссылки Device[AP_SWS_SHWA_00909], либо через универсальный DeviceSelector[AP_SWS_SHWA_00908]. Оба варианта дополнительно принимают ErrorHandler и опциональный PropertyList. Что касается многопоточности, фабричные функции Create() специфицированы как потокобезопасные [AP_SWS_SHWA_00908], [AP_SWS_SHWA_00909]. Все обычные функции-члены созданного экземпляра — среди них Submit(), Wait() и GetDevice() — напротив, объявлены как непотокобезопасные [AP_SWS_SHWA_00910], [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914]; следовательно, одновременный доступ из нескольких потоков должен синхронизироваться на стороне приложения.
Путь использования
Стандартный процесс делится на фазы создания, диспетчеризации задач и синхронизации:
Создание очереди: приложение создает очередь через Create() с конкретным устройством или DeviceSelector, а также подпрограммами обработки ошибок [AP_SWS_SHWA_00909].
Передача задания: с помощью Submit() задача передается оборудованию. При этом может быть передан либо выделенный ErrorHandler[AP_SWS_SHWA_00912], либо указана вторичная очередь (secondaryQueue) для резервных или последующих путей [AP_SWS_SHWA_00913]. Метод возвращает ara::core::Result<Event>.
Синхронизация: приложение синхронизируется по завершению отправленных задач. Для этого доступны неограниченный Wait()[AP_SWS_SHWA_00914] или ограниченный по времени WaitFor() с указанием длительности в миллисекундах [AP_SWS_SHWA_00917].
Методы сообщают об ошибках через тип кода ошибки ShwaErrorCode в ara::core::Result:
Конфликты ресурсов и параметров: в случае сбоя Create() могут возникнуть, среди прочего, ShwaErrorCode::kResourceBusy, ShwaErrorCode::kInvalidParameter или ShwaErrorCode::kFeatureNotSupported[AP_SWS_SHWA_00909]. Для этих ошибок создания действует семантика отката.
Вызов недействительных объектов: если такие методы, как Submit(), Wait() или WaitFor(), выполняются на уже уничтоженных или недействительных объектах, API сигнализирует об этом с помощью ShwaErrorCode::kInvalidObject[AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914], [AP_SWS_SHWA_00917].
Ошибки выполнения и целостность данных: если во время обработки задачи возникает ошибка (ShwaErrorCode::kTaskExecutionFailure или в более общем случае ShwaErrorCode::kRuntime), семантика отката явно отсутствует (no_rollback_semantics). Спецификация требует в этих случаях рассматривать данные, участвующие в выполнении, как непреднамеренно модифицированные [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914].
Тайм-аут: при синхронизирующем ожидании через WaitFor()ShwaErrorCode::kTimedOut сигнализирует об истечении заданного интервала; затронутые данные и в этом случае следует классифицировать как потенциально несогласованные [AP_SWS_SHWA_00917].
Данное руководство основано исключительно на требованиях спецификации для ara::shwa::Queue из AUTOSAR Adaptive R25-11.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way
Exception Safety
exception safe
Errors
ShwaErrorCode::k ResourceBusy no_rollback_semantics The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTimed Out Task execution timed-out. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал