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] texto ainda não importadoUpstream: RS_SHWA_00001
class TaskHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permite a criação e o envio de tarefas computacionais individuais e paralelas para dispositivos aceleradores.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6d7c7c77c2a9ProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Permite a criação e o envio de tarefas computacionais individuais e paralelas para dispositivos aceleradores.
A classe ara::shwa::TaskHandler serve para a execução de tarefas em hardware acelerador por meio de submissões em fila [AP_SWS_SHWA_01203]. Novas instâncias são criadas de forma thread-safe pelo método factory estático Create(), que retorna erros no ara::core::Result[AP_SWS_SHWA_01202]. Por meio de SingleTask e ParallelFor, passos computacionais individuais ou com paralelismo de dados podem ser transmitidos ao dispositivo-alvo. Enquanto a instanciação é thread-safe, as submissões de tarefas não são thread-safe e exigem sincronização externa em caso de acesso paralelo.
Contexto
Como classe final (final), a classe ara::shwa::TaskHandler faz parte do módulo para aceleração de hardware (shwa) dentro da AUTOSAR Adaptive Platform. Ela atua como interface central para a transmissão e execução de tarefas de cálculo em um dispositivo-alvo (Device) selecionado. Na arquitetura de software, a classe assume o papel de intermediária entre o componente de software aplicador e a infraestrutura de execução subjacente.
A interação ocorre primariamente entre dois parceiros do sistema: a aplicação chamadora e o acelerador de hardware selecionado ou sua fila de tarefas. Operações de cálculo definidas pela aplicação são recebidas pelas interfaces de ara::shwa::TaskHandler e encaminhadas ao dispositivo como submissões em fila [AP_SWS_SHWA_01203]. Isso possibilita tanto a realização de etapas de cálculo individuais quanto de padrões de processamento com paralelismo de dados [AP_SWS_SHWA_01204]. Interpretação: a classe provavelmente encapsula as filas específicas de dispositivo, permitindo que componentes de aplicação controlem recursos de acelerador sem estarem acoplados a detalhes de baixo nível de hardware. Pergunta (aberta)
Ciclo de vida
O ciclo de vida de uma instância de ara::shwa::TaskHandler é controlado por um padrão factory rigoroso. A instanciação ocorre exclusivamente por meio do método factory estático Create()[AP_SWS_SHWA_01202]. Como a classe é declarada como final, uma especialização por herança é excluída. O objeto criado é retornado empacotado em um ara::core::Result<TaskHandler>, o que exige que o sucesso da inicialização seja verificado explicitamente [AP_SWS_SHWA_01202].
Em relação à concorrência e segurança de threads, a classe apresenta propriedades diferenciadas:
Instanciação: a chamada do método estático Create() é thread-safe (thread-safe) [AP_SWS_SHWA_01202]. Múltiplas threads podem, portanto, criar novas instâncias de manipulador concorrentemente por meio do caminho factory.
Submissão de tarefas: os métodos para transmissão de ordens de trabalho, SingleTask[AP_SWS_SHWA_01203] e ParallelFor[AP_SWS_SHWA_01204], são expressamente especificados como não thread-safe (not thread-safe). Uma única instância de TaskHandler não pode, portanto, ser acessada simultaneamente a partir de múltiplas threads sem coordenação; a sincronização cabe ao chamador.
Segurança contra exceções: todos os métodos da interface são declarados como noexcept e garantem segurança contra exceções (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. Em Create(), aplicam-se também semânticas de rollback (rollback_semantics) caso a inicialização falhe [AP_SWS_SHWA_01202].
A posse permanece com o componente aplicador, que mantém a instância e a destrói assim que não forem mais necessárias submissões em fila adicionais.
Caminho de utilização
O fluxo típico divide-se nas fases de criação, configuração da ordem e transmissão de tarefas. Primeiramente, a aplicação solicita uma nova instância através de ara::shwa::TaskHandler::Create()[AP_SWS_SHWA_01202]. Após a validação bem-sucedida do ara::core::Result, o objeto está pronto para ordens de trabalho.
Em seguida, a aplicação decide sobre o método de transmissão apropriado com base no padrão de processamento:
Para tarefas computacionais individuais, SingleTask(cfg) é chamado, enfileirando a função de tarefa passada como parâmetro na fila do dispositivo-alvo selecionado [AP_SWS_SHWA_01203].
Para padrões de processamento com paralelismo de dados, o template de função ParallelFor(bufferSize, cfg) está disponível [AP_SWS_SHWA_01204]. Nele, além da configuração, o tamanho do buffer (bufferSize) também é passado para controlar a execução paralela através de múltiplos elementos de dados no dispositivo acelerador.
Interpretação: o parâmetro de template T provavelmente representa uma função invocável, uma expressão lambda ou uma configuração de tarefa correspondente que encapsula a lógica de cálculo a ser executada no dispositivo. Pergunta Q-2fca8604440b44e9 (aberta)
O tratamento de erros em ara::shwa::TaskHandler segue o paradigma livre de exceções (noexcept) da Adaptive Platform.
Estados de erro ocorrem principalmente durante a instanciação:
O método factory Create() reporta falhas através do canal de erro no valor de retorno ara::core::Result[AP_SWS_SHWA_01202].
Como identificador de erro concreto está definido ShwaErrorCode::kRuntime, que sinaliza erros gerais de tempo de execução durante a criação do objeto [AP_SWS_SHWA_01202]. As semânticas de rollback especificadas asseguram que, em caso de falha, não surjam estados parcialmente inicializados ou vazamentos de recursos [AP_SWS_SHWA_01202].
As chamadas SingleTask[AP_SWS_SHWA_01203] e ParallelFor[AP_SWS_SHWA_01204] não retornam nenhum valor (void) e não disparam exceções. Os chamadores devem, portanto, certificar-se de que a instância do manipulador seja válida e que os acessos sejam sincronizados externamente em caso de threads concorrentes.
Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão