DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite la ejecución asíncrona y segura para subprocesos de objetos invocables con retorno opcional mediante futuros.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 690890643de1 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite la ejecución asíncrona y segura para subprocesos de objetos invocables con retorno opcional mediante futuros.

La clase ara::core::Executor proporciona una interfaz para la ejecución asíncrona de objetos invocables en un contexto garantizado y seguro para subprocesos. Las tareas se inician bien orientadas a resultados a través de execute [SWS_CORE_00024] con devolución de un ara::core::Future para valores o códigos de error, bien de forma independiente del estado mediante oneway_execute [SWS_CORE_00025] en modo «fire-and-forget». Como condición de contorno fundamental debe tenerse en cuenta que execute por sí mismo no es seguro para subprocesos y las llamadas simultáneas sobre la misma instancia deben sincronizarse externamente, mientras que la ejecución del objeto invocable en segundo plano se produce de forma segura para subprocesos.

Contexto

La clase ara::core::Executor proporciona una interfaz para un contexto de ejecución que ejecuta unidades invocables (callables) de forma asíncrona en un entorno garantizado y seguro para subprocesos. Actúa como capa de abstracción entre el subproceso invocador y el procesamiento asíncrono en segundo plano. Para la transferencia de tareas existen dos mecanismos disponibles: el método execute [SWS_CORE_00024] transfiere una tarea orientada a resultados y devuelve un objeto ara::core::Future, mediante el cual se puede sincronizar y consultar el valor de retorno posterior o un código de error. Para meras notificaciones u operaciones en segundo plano independientes del estado, la clase proporciona el método oneway_execute [SWS_CORE_00025], el cual sigue una semántica «fire-and-forget» y no devuelve ningún contexto asíncrono al invocador. Presumiblemente, la implementación concreta encapsula en segundo plano una gestión de subprocesos o una cola de tareas para coordinar la ejecución concurrente. Pregunta Q-068fe33f2900d6cf (abierta)

Ciclo de vida

La instanciación y el ciclo de vida de un ara::core::Executor están sujetos a reglas diferenciadas en cuanto a seguridad frente a excepciones y seguridad para subprocesos:

  • Copia: el constructor de copia [SWS_CORE_00009] y el operador de asignación por copia [SWS_CORE_00017] están especificados como seguros para subprocesos, pero no están clasificados como seguros frente a excepciones (not exception safe). Por lo tanto, una operación de copia puede fallar si no se pueden asignar los recursos necesarios.
  • Movimiento: el constructor de movimiento [SWS_CORE_00015] y la asignación por movimiento [SWS_CORE_00018] están declarados como noexcept y son, por ende, seguros frente a excepciones. No obstante, las operaciones de movimiento no son seguras para subprocesos (not thread-safe), por lo que el invocador debe sincronizar los accesos simultáneos durante el movimiento.
  • Destrucción: el destructor [SWS_CORE_00019] es noexcept y se ejecuta de manera segura para subprocesos, lo que permite finalizar de forma segura el ciclo de vida de una instancia.

En lo relativo a la concurrencia durante el funcionamiento, se observa una división fundamental: mientras que oneway_execute [SWS_CORE_00025] es seguro para subprocesos, execute [SWS_CORE_00024] está clasificado como no seguro para subprocesos. La falta de seguridad para subprocesos en execute probablemente se deba a la creación y gestión internas del objeto de estado subyacente para el futuro resultante, razón por la cual las llamadas simultáneas a execute en la misma instancia deben sincronizarse externamente. Pregunta Q-4425e6b07758230e (abierta)

Ruta de uso

El uso de ara::core::Executor se divide en dos vías esenciales, dependiendo de si se requiere un valor de retorno:

  1. Vía orientada a resultados (execute): el invocador pasa un objeto invocable f así como argumentos opcionales p... a execute [SWS_CORE_00024]. El método devuelve inmediatamente un ara::core::Future cuyo tipo de resultado se basa en el tipo de retorno deducido de la llamada. El objeto invocable se ejecuta de forma asíncrona en el contexto garantizado. Una vez finalizado el procesamiento, el invocador puede extraer del futuro el valor de resultado o un posible código de error.
  2. Vía unidireccional (oneway_execute): si el invocador no requiere ni confirmación ni sincronización, se invoca oneway_execute [SWS_CORE_00025]. El objeto invocable también se ejecuta de forma asíncrona, pero no existe valor de retorno (void).
Flujo de ejecución asíncrono con ara::core::ExecutorInvocadorara::core::ExecutorAsynchroner Kontextara::core::Futureexecute(f, p...)Future erzeugenDevolver ara::core::Futuref(p...) asynchron startenEjecutar callable f(p...)Establecer resultado o errorErgebnis / Fehler abfragenErgebniswert / Fehlercode

Diagrama de secuencia: procesamiento asíncrono de tareas mediante execute y consulta de resultados a través de Future. Fuentes: [SWS_CORE_00024]

Escenarios de error

Los métodos de invocación execute [SWS_CORE_00024] y oneway_execute [SWS_CORE_00025] no lanzan excepciones de C++; ambos están especificados explícitamente como noexcept. Asimismo, la especificación para execute no define códigos de error estandarizados para la propia llamada de transferencia [SWS_CORE_00024].

Sin embargo, si se produce un error durante la ejecución asíncrona del objeto invocable, este se propaga a través del ara::core::Future devuelto por execute: en caso de error, el futuro encapsula un código de error, mientras que en caso de éxito se suministra el tipo ara::core::Result::value_type con el resultado de la función [SWS_CORE_00024]. En oneway_execute [SWS_CORE_00025], por diseño, no existe posibilidad de devolución de errores al invocador; los errores permanecen en el contexto asíncrono.

Esta guía ha sido elaborada por una IA y se basa exclusivamente en la especificación de AUTOSAR Adaptive R25-11.

Mapa de miembros

Constructores y destructor

2

Operadores

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Executor función 2

Copy constructor

Sobrecargas Executor 2
Executor (const Executor &other); SWS_CORE_00009
Executor (Executor &&other) noexcept; SWS_CORE_00015
~Executor función

Destructor

~Executor () noexcept;

Métodos

execute función

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= función 2

Copy assignment operator

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

Documentación de los métodos

función 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#ff687dcb
Content hash
ff687dcb
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

función 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#5ddf686d
Content hash
5ddf686d
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

función 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....

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9d31d266cefd Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función execute de la clase ara::core::Executor sirve para la ejecución asíncrona de un objeto de función pasado f junto con los argumentos p... ([SWS_CORE_00024]). Como valor de retorno proporciona un ara::core::Future que, en caso de éxito, encapsula el resultado de la invocación o, en caso de error, suministra un código de error correspondiente ([SWS_CORE_00024]). La propia función está declarada con el especificador noexcept.

No se especifican códigos de error estandarizados para la invocación de la función ([SWS_CORE_00024]). En lo referente a la concurrencia, si bien execute está clasificada como exception safe, se considera explícitamente como not thread-safe ([SWS_CORE_00024]). Por tanto, es probable que los accesos paralelos a la misma instancia de ara::core::Executor deban sincronizarse a nivel de usuario. Pregunta Q-6b839826a7d9742f (abierta)

La interacción con los flujos de control asíncronos se manifiesta especialmente en el encadenamiento mediante then ([SWS_CORE_00337], [SWS_CORE_06237]). Allí se pasa un contexto de ejecutor en cuyo contexto se ejecutan las funciones de continuación subsiguientes con el ara::core::Result obtenido.

Este texto ha sido generado automáticamente. Todos los datos técnicos se basan en la especificación 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#c177c391
Content hash
c177c391
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

función 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....

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1e96ad32e48d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función plantilla oneway_execute de la clase ara::core::Executor sirve para la ejecución asíncrona de una unidad invocable f (Callable) con los argumentos transferidos p... [SWS_CORE_00025]. Puesto que la función no devuelve ningún valor (tipo de retorno void) y la ejecución se realiza de forma asíncrona, la llamada regresa de inmediato al invocador sin esperar al final ni a un resultado de la ejecución [SWS_CORE_00025].

Tratamiento de fallos y seguridad frente a excepciones

La función está declarada como noexcept y especificada como segura frente a excepciones (exception safe) [SWS_CORE_00025]. Por lo tanto, los posibles errores o excepciones dentro del callable suministrado probablemente deban capturarse y gestionarse internamente en el propio callable, dado que no es posible propagar ninguna retroalimentación de error ni excepción al contexto llamador. Pregunta Q-c8d31cfa9c2e3ab9 (abierta)

Concurrencia y restricciones

Según la especificación, oneway_execute está catalogada como segura para subprocesos (thread-safe) [SWS_CORE_00025]. Por consiguiente, la función puede llamarse concurrentemente desde diferentes hilos sobre la misma instancia de ara::core::Executor. La integración se realiza mediante el archivo de encabezado #include "ara/core/executor.h" [SWS_CORE_00025].

Esta nota de uso se generó de forma automatizada sobre la base de 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#c4b6ea9d
Content hash
c4b6ea9d
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

función 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#041afe04
Content hash
041afe04
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

función 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#09036361
Content hash
09036361
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

función ~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#2411076b
Content hash
2411076b
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