DEENESPTFRRUARHIKOZHNL

classe ara::core::Executor

[SWS_CORE_00008] Upstream: RS_AP_00130

class Executor {...};

Provides an interface for a executing context, which asynchronously invokes Callable ([4] [func.wrap.func]) objects in a guaranteed thread-safe context. The execute(...) method in [SWS_CORE_00024] returns a ara::core::Future object to the caller for further result/error extraction or management of the asynchronous-context; the execute_oneway(...) method in [SWS_CORE_00025] imply fire-and-forget semantics and thus no asynchronous-context (ara::core::Future) is returned.

Literaturverzeichnis SWS Core: [4] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/core/executor.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core

Guia do utilizadorGERADO POR IA

Permite a execução assíncrona e thread-safe de objetos chamáveis com retorno opcional via futures.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 690890643de1 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite a execução assíncrona e thread-safe de objetos chamáveis com retorno opcional via futures.

A classe ara::core::Executor fornece uma interface para a execução assíncrona de objetos chamáveis em um contexto com garantia de segurança de threads (thread-safe). As tarefas são iniciadas de forma orientada a resultados via execute [SWS_CORE_00024] com o retorno de um ara::core::Future para valores ou códigos de erro, ou transferidas independentemente de status por oneway_execute [SWS_CORE_00025] no modo fire-and-forget. Como condição de contorno central, deve-se observar que execute em si não é thread-safe e chamadas paralelas na mesma instância precisam ser sincronizadas externamente, enquanto a execução do callable em segundo plano ocorre de forma thread-safe.

Contexto

A classe ara::core::Executor fornece uma interface para um contexto de execução que executa unidades chamáveis (callables) de forma assíncrona em um ambiente garantidamente thread-safe. Ela serve como camada de abstração entre a thread chamadora e o processamento assíncrono em segundo plano. Dois mecanismos estão disponíveis para a transferência de tarefas: o método execute [SWS_CORE_00024] transfere uma tarefa de modo orientado a resultados e retorna um objeto ara::core::Future, através do qual o valor de retorno posterior ou um código de erro pode ser sincronizado e consultado. Para meras notificações ou operações de segundo plano independentes de status, a classe disponibiliza o método oneway_execute [SWS_CORE_00025], que segue uma semântica fire-and-forget e não retorna nenhum contexto assíncrono ao chamador. Supõe-se que a implementação concreta encapsule em segundo plano um gerenciamento de threads ou uma fila de tarefas para coordenar o processamento concorrente. Pergunta Q-068fe33f2900d6cf (aberta)

Ciclo de vida

A instanciação e o ciclo de vida de um ara::core::Executor estão sujeitos a regras diferenciadas quanto à segurança de exceções e de threads:

  • Cópia: o construtor de cópia [SWS_CORE_00009] e o operador de atribuição por cópia [SWS_CORE_00017] são especificados como thread-safe, mas não são classificados como seguros para exceções (not exception safe). Um processo de cópia pode, portanto, falhar se os recursos necessários não puderem ser alocados.
  • Movimentação: o construtor de movimentação [SWS_CORE_00015] e a atribuição por movimentação [SWS_CORE_00018] são declarados como noexcept e, portanto, seguros para exceções. No entanto, as operações de movimentação não são thread-safe (not thread-safe), razão pela qual acessos simultâneos durante a movimentação devem ser sincronizados pelo chamador.
  • Destruição: o destrutor [SWS_CORE_00019] é noexcept e implementado como thread-safe, permitindo que o ciclo de vida de uma instância seja encerrado com segurança.

Em relação à concorrência durante a operação, nota-se uma divisão fundamental: enquanto oneway_execute [SWS_CORE_00025] é thread-safe, execute [SWS_CORE_00024] é classificado como não thread-safe. A ausência de segurança de threads em execute decorre, provavelmente, da criação e do gerenciamento internos do objeto de estado subjacente para o future resultante, razão pela qual chamadas simultâneas de execute na mesma instância devem ser sincronizadas externamente. Pergunta Q-4425e6b07758230e (aberta)

Caminho de utilização

O uso de ara::core::Executor divide-se em dois caminhos principais, dependendo da necessidade de um valor de retorno:

  1. Caminho orientado a resultados (execute): o chamador transfere um objeto chamável f bem como argumentos opcionais p... para execute [SWS_CORE_00024]. O método retorna imediatamente um ara::core::Future, cujo tipo de resultado se baseia no tipo de retorno deduzido da chamada. O callable é executado de forma assíncrona no contexto garantido. Assim que o processamento for concluído, o chamador pode extrair o valor do resultado ou um potencial código de erro a partir do future.
  2. Caminho unidirecional (oneway_execute): se o chamador não necessitar de confirmação nem de sincronização, oneway_execute [SWS_CORE_00025] é chamado. O callable também é executado de forma assíncrona, mas não existe um valor de retorno (void).
Fluxo de execução assíncrona com ara::core::ExecutorChamadorara::core::ExecutorAsynchroner Kontextara::core::Futureexecute(f, p...)Future erzeugenRetornar ara::core::Futuref(p...) asynchron startenExecutar callable f(p...)Definir resultado ou erroErgebnis / Fehler abfragenErgebniswert / Fehlercode

Diagrama de sequência: processamento assíncrono de tarefas via execute e consulta de resultados via future. Fontes: [SWS_CORE_00024]

Cenários de erro

Os métodos de invocação execute [SWS_CORE_00024] e oneway_execute [SWS_CORE_00025] não lançam exceções de C++; ambos são especificados explicitamente como noexcept. Da mesma forma, a especificação para execute não define códigos de erro padronizados para a chamada de transferência em si [SWS_CORE_00024].

No entanto, se ocorrer um erro durante o processamento assíncrono do callable, ele será propagado através do ara::core::Future retornado por execute: em caso de erro, o future encapsula um código de erro, enquanto em caso de sucesso o tipo ara::core::Result::value_type é disponibilizado com o resultado da função [SWS_CORE_00024]. Em oneway_execute [SWS_CORE_00025], por projeto, não há possibilidade de retorno de erro ao chamador; os erros permanecem no contexto assíncrono.

Este guia foi curado por uma IA e baseia-se exclusivamente na especificação do AUTOSAR Adaptive R25-11.

Mapa de membros

Construtores e destrutor

2

Operadores

1

Diagrama de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__Executor877 Executor + Executor() + operator=() + ~Executor() + execute() + oneway_execute()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Executor função 2

Copy constructor

Sobrecargas Executor 2
Executor (const Executor &other); SWS_CORE_00009
Executor (Executor &&other) noexcept; SWS_CORE_00015
~Executor função

Destructor

~Executor () noexcept;

Métodos

execute função

Asynchronously invoke F with the provided arguments P....

template <class F, class... P> ara::core::Future< std::invoke_result_t< std::decay_t< F >, std::decay_t< P >... > > execute (F &&f, P &&... p) noexcept;

Asynchronously invoke F with the provided arguments P....

template <class F, class... P> void oneway_execute (F &&f, P &&... p) noexcept;

Operadores

operator= função 2

Copy assignment operator

Sobrecargas = 2
Executor & operator= (const Executor &other); SWS_CORE_00017
Executor & operator= (Executor &&other) noexcept; SWS_CORE_00018

Documentação dos métodos

função Executor [SWS_CORE_00009] Upstream: RS_AP_00130

Executor (const Executor &other);

Copy constructor

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherOther ara::core::Executor to copy

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00009
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00009@rel:R25-11#94faf380
Content hash
94faf380
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00009
Status: valid/unmigrated Version: rel:R25-11#60a2a566 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00009@rel:R25-11#60a2a566
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3391383e2026-09-30
  • R24-11rel:R24-11#6c85f96c2026-10-14
  • R25-11rel:R25-11#60a2a5662026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função Executor [SWS_CORE_00015] Upstream: RS_AP_00130

Executor (Executor &&other) noexcept;

Move constructor

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherOther ara::core::Executor to move

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00015
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00015@rel:R25-11#10806ff2
Content hash
10806ff2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00015
Status: valid/unmigrated Version: rel:R25-11#aa1a25ba Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00015@rel:R25-11#aa1a25ba
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#5a1547e72026-09-30
  • R24-11rel:R24-11#0606a2422026-10-14
  • R25-11rel:R25-11#aa1a25ba2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função execute [SWS_CORE_00024] Upstream: RS_AP_00130

template <class F, class... P> ara::core::Future< std::invoke_result_t< std::decay_t< F >, std::decay_t< P >... > > execute (F &&f, P &&... p) noexcept;

Asynchronously invoke F with the provided arguments P....

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9d31d266cefd Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função execute da classe ara::core::Executor serve para a execução assíncrona de um objeto de função fornecido f juntamente com os argumentos p... ([SWS_CORE_00024]). Como valor de retorno, ela fornece um ara::core::Future, que encapsula o resultado da chamada em caso de sucesso ou disponibiliza um código de erro correspondente em caso de falha ([SWS_CORE_00024]). A própria função é declarada com o especificador noexcept.

Códigos de erro padronizados não são especificados para a chamada da função ([SWS_CORE_00024]). Em relação à concorrência, embora execute seja classificado como exception safe, ele é considerado explicitamente como not thread-safe ([SWS_CORE_00024]). Acessos paralelos à mesma instância de ara::core::Executor devem, portanto, provavelmente ser sincronizados no nível da aplicação. Pergunta Q-6b839826a7d9742f (aberta)

A interação com fluxos de controle assíncronos manifesta-se particularmente em encadeamentos via then ([SWS_CORE_00337], [SWS_CORE_06237]). Ali é passado um contexto de executor, em cujo contexto as funções de continuação subsequentes são executadas com o ara::core::Result obtido.

Este texto foi gerado automaticamente. Todas as informações técnicas baseiam-se na especificação AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Template-Parameter

ParameterBeschreibung
Fa Callable type
Pargument list to the Callable

Parameter (in)

ParameterBeschreibung
fa Callable to be executed
pparameters to be supplied with the Callable

Rückgabewert

TypBeschreibung
ara::core::Future<std::invoke_result_t<std::decay_t< F >, std::decay_t< P >... > >• If successful: an ara::core::Future containing a ara:: core::Result::value_type containing the result of the callable F • If unsuccessful: an ara::core::Future containing an Error Code

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00024
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00024@rel:R25-11#2dc83251
Content hash
2dc83251
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00024
Status: valid/unmigrated Version: rel:R25-11#6c85a6a9 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00024@rel:R25-11#6c85a6a9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8144c3b12026-09-30
  • R24-11rel:R24-11#d465a8212026-10-14
  • R25-11rel:R25-11#6c85a6a92026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função oneway_execute [SWS_CORE_00025] Upstream: RS_AP_00130

template <class F, class... P> void oneway_execute (F &&f, P &&...                p) noexcept;

Asynchronously invoke F with the provided arguments P....

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1e96ad32e48d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função-modelo oneway_execute da classe ara::core::Executor serve para a execução assíncrona de uma entidade chamável f (Callable) com os argumentos passados p... [SWS_CORE_00025]. Como a função não fornece qualquer valor de retorno (tipo de retorno void) e a execução ocorre de forma assíncrona, a chamada retorna imediatamente ao chamador sem aguardar o fim ou um resultado da execução [SWS_CORE_00025].

Tratamento de erros e segurança contra exceções

A função é declarada como noexcept e especificada como segura face a exceções (exception safe) [SWS_CORE_00025]. Por conseguinte, eventuais erros ou exceções no Callable transmitido presumivelmente têm de ser capturados e tratados internamente no próprio Callable, uma vez que nenhuma resposta de erro ou exceção pode ser repassada ao contexto chamador. Pergunta Q-c8d31cfa9c2e3ab9 (aberta)

Simultaneidade e restrições

De acordo com a especificação, oneway_execute está classificada como segura para threads (thread-safe) [SWS_CORE_00025]. A função pode, assim, ser chamada concorrentemente a partir de diferentes threads na mesma instância de ara::core::Executor. A integração é feita através do ficheiro de cabeçalho #include "ara/core/executor.h" [SWS_CORE_00025].

Esta nota de utilização foi gerada automaticamente com base no AUTOSAR R25-11.

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Template-Parameter

ParameterBeschreibung
Fa Callable type
Pargument list to the Callable

Parameter (in)

ParameterBeschreibung
fa Callable to be executed
pparameters to be supplied with the Callable

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00025
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00025@rel:R25-11#b983e39d
Content hash
b983e39d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00025
Status: valid/unmigrated Version: rel:R25-11#f89da2ea Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00025@rel:R25-11#f89da2ea
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#ebd0128b2026-09-30
  • R24-11rel:R24-11#fe75fa6e2026-10-14
  • R25-11rel:R25-11#f89da2ea2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função operator= [SWS_CORE_00017] Upstream: RS_AP_00130

Executor & operator= (const Executor &other);

Copy assignment operator

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherOther ara::core::Executor to copy

Rückgabewert

TypBeschreibung
Executor &The copied object

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00017
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00017@rel:R25-11#81687eee
Content hash
81687eee
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00017
Status: valid/unmigrated Version: rel:R25-11#6011a69d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00017@rel:R25-11#6011a69d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c0dcae292026-09-30
  • R24-11rel:R24-11#137015232026-10-14
  • R25-11rel:R25-11#6011a69d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função operator= [SWS_CORE_00018] Upstream: RS_AP_00130

Executor & operator= (Executor &&other) noexcept;

Move assignment operator

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherOther ara::core::Executor to move

Rückgabewert

TypBeschreibung
Executor &The moved object

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00018
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00018@rel:R25-11#8ad8a725
Content hash
8ad8a725
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00018
Status: valid/unmigrated Version: rel:R25-11#1ca71ff7 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00018@rel:R25-11#1ca71ff7
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#57cffdd32026-09-30
  • R24-11rel:R24-11#15bce54f2026-10-14
  • R25-11rel:R25-11#1ca71ff72026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função ~Executor [SWS_CORE_00019] Upstream: RS_AP_00130

~Executor () noexcept;

Destructor

Header-Datei#include "ara/core/executor.h"
Scopeclass ara::core::Executor
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00019
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00019@rel:R25-11#505d3b4a
Content hash
505d3b4a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00019
Status: valid/unmigrated Version: rel:R25-11#336c443d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00019@rel:R25-11#336c443d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#96c96d482026-09-30
  • R24-11rel:R24-11#7a18cb1c2026-10-14
  • R25-11rel:R25-11#336c443d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill