DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Обеспечивает асинхронное, потокобезопасное выполнение вызываемых объектов с опциональным возвратом через future-объекты.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 690890643de1 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Обеспечивает асинхронное, потокобезопасное выполнение вызываемых объектов с опциональным возвратом через future-объекты.

Класс ara::core::Executor предоставляет интерфейс для асинхронного выполнения вызываемых объектов в гарантированно потокобезопасном контексте. Задачи либо запускаются ориентированно на результат через execute [SWS_CORE_00024] с возвратом ara::core::Future для значений или кодов ошибок, либо передаются независимо от состояния через oneway_execute [SWS_CORE_00025] в режиме fire-and-forget. В качестве ключевого граничного условия следует учесть, что сам execute не является потокобезопасным, и параллельные вызовы на одном и том же экземпляре должны синхронизироваться извне, тогда как выполнение вызываемого объекта в фоновом режиме происходит потокобезопасно.

Контекст

Класс ara::core::Executor предоставляет интерфейс для контекста выполнения, который асинхронно исполняет вызываемые сущности (callables) в гарантированной потокобезопасной среде. Он служит уровнем абстракции между вызывающим потоком и асинхронной фоновой обработкой. Для передачи задач доступны два механизма: метод execute [SWS_CORE_00024] передает задачу с ориентацией на результат и возвращает объект ara::core::Future, с помощью которого можно синхронизировать и запросить последующее возвращаемое значение или код ошибки. Для простых уведомлений или не зависящих от состояния фоновых операций класс предоставляет метод oneway_execute [SWS_CORE_00025], который следует семантике fire-and-forget и не возвращает асинхронный контекст вызывающей стороне. По всей видимости, конкретная реализация инкапсулирует в фоновом режиме управление потоками или очередь задач для координации параллельной обработки. Вопрос Q-068fe33f2900d6cf (открытый)

Жизненный цикл

Инстанцирование и время жизни ara::core::Executor подчиняются дифференцированным правилам в отношении безопасности исключений и потокобезопасности:

  • Копирование: конструктор копирования [SWS_CORE_00009] и оператор присваивания копированием [SWS_CORE_00017] специфицированы как потокобезопасные, однако не классифицированы как безопасные относительно исключений (not exception safe). Поэтому операция копирования может завершиться сбоем, если не удается выделить необходимые ресурсы.
  • Перемещение: конструктор перемещения [SWS_CORE_00015] и оператор присваивания перемещением [SWS_CORE_00018] объявлены как noexcept и, следовательно, безопасны относительно исключений. Однако операции перемещения не являются потокобезопасными (not thread-safe), поэтому одновременный доступ во время перемещения должен синхронизироваться вызывающей стороной.
  • Уничтожение: деструктор [SWS_CORE_00019] выполнен как noexcept и является потокобезопасным, благодаря чему жизненный цикл экземпляра может быть корректно завершен.

Что касается параллелизма во время работы, наблюдается фундаментальное разделение: в то время как oneway_execute [SWS_CORE_00025] потокобезопасен, execute [SWS_CORE_00024] классифицирован как непотокобезопасный. Отсутствие потокобезопасности в execute, вероятно, связано с внутренним созданием базового объекта состояния и управлением им для результирующего future-объекта, поэтому одновременные вызовы execute на одном и том же экземпляре должны синхронизироваться извне. Вопрос Q-4425e6b07758230e (открытый)

Путь использования

Использование ara::core::Executor делится на два основных пути в зависимости от того, требуется ли возвращаемое значение:

  1. Путь, ориентированный на результат (execute): вызывающая сторона передает вызываемый объект f, а также необязательные аргументы p... в execute [SWS_CORE_00024]. Метод немедленно возвращает ara::core::Future, тип результата которого основан на выведенном типе возвращаемого значения вызова. Вызываемый объект выполняется асинхронно в гарантированном контексте. Как только обработка завершена, вызывающая сторона может извлечь результирующее значение или потенциальный код ошибки из future-объекта.
  2. Односторонний путь (oneway_execute): если вызывающей стороне не требуется ни обратная связь, ни синхронизация, вызывается oneway_execute [SWS_CORE_00025]. Вызываемый объект также выполняется асинхронно, однако возвращаемое значение отсутствует (void).
Асинхронный процесс выполнения с ara::core::ExecutorВызывающая сторонаara::core::ExecutorAsynchroner Kontextara::core::Futureexecute(f, p...)Future erzeugenВозвратить ara::core::Futuref(p...) asynchron startenВыполнить вызываемый объект f(p...)Установить результат или ошибкуErgebnis / Fehler abfragenErgebniswert / Fehlercode

Диаграмма последовательности: асинхронная обработка задач через execute и опрос результата через Future. Источники: [SWS_CORE_00024]

Сценарии ошибок

Методы вызова execute [SWS_CORE_00024] и oneway_execute [SWS_CORE_00025] не генерируют исключений C++; оба явно специфицированы как noexcept. Аналогично, спецификация для execute не определяет стандартизированных кодов ошибок для самого вызова передачи [SWS_CORE_00024].

Однако если во время асинхронной обработки вызываемого объекта возникает ошибка, она распространяется через возвращенный методом execute объект ara::core::Future: в случае ошибки future инкапсулирует код ошибки, тогда как в случае успеха предоставляется тип ara::core::Result::value_type с результатом функции [SWS_CORE_00024]. В случае oneway_execute [SWS_CORE_00025] возможность возврата ошибки вызывающей стороне конструктивно отсутствует; ошибки остаются в асинхронном контексте.

Это руководство было подготовлено ИИ и опирается исключительно на спецификацию AUTOSAR Adaptive R25-11.

Карта членов

Конструкторы и деструктор

2

Операторы

1

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

Executor функция 2

Copy constructor

Перегрузки Executor 2
Executor (const Executor &other); SWS_CORE_00009
Executor (Executor &&other) noexcept; SWS_CORE_00015
~Executor функция

Destructor

~Executor () noexcept;

Методы

execute функция

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;
oneway_execute функция

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

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

Операторы

operator= функция 2

Copy assignment operator

Перегрузки = 2
Executor & operator= (const Executor &other); SWS_CORE_00017
Executor & operator= (Executor &&other) noexcept; SWS_CORE_00018

Документация методов

функция 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#36dcb480
Content hash
36dcb480
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

функция 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#3354552e
Content hash
3354552e
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

функция 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....

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9d31d266cefd Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция execute класса ara::core::Executor служит для асинхронного выполнения переданного объекта функции f вместе с аргументами p... ([SWS_CORE_00024]). В качестве возвращаемого значения она возвращает ara::core::Future, который в случае успеха инкапсулирует результат вызова или в случае ошибки предоставляет соответствующий код ошибки ([SWS_CORE_00024]). Сама функция объявлена со спецификатором noexcept.

Стандартизированные коды ошибок для вызова функции не специфицированы ([SWS_CORE_00024]). В отношении параллелизма execute хотя и классифицируется как exception safe, однако явно считается not thread-safe ([SWS_CORE_00024]). Параллельный доступ к одному и тому же экземпляру ara::core::Executor, вероятно, должен синхронизироваться на уровне пользователя. Вопрос Q-6b839826a7d9742f (открытый)

Взаимодействие с асинхронными потоками управления проявляется, в частности, при цепочках через then ([SWS_CORE_00337], [SWS_CORE_06237]). Туда передается контекст исполнителя (Executor), в контексте которого выполняются последующие функции продолжения (continuation) с полученным ara::core::Result.

Этот текст был сгенерирован автоматически. Все технические данные основаны на спецификации 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#3b16e317
Content hash
3b16e317
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

функция 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....

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1e96ad32e48d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Шаблонная функция oneway_execute класса ara::core::Executor служит для асинхронного выполнения вызываемой сущности f (Callable) с переданными аргументами p... [SWS_CORE_00025]. Поскольку функция не возвращает значения (тип возврата void) и выполнение происходит асинхронно, вызов немедленно возвращает управление вызывающей стороне, не дожидаясь окончания или результата выполнения [SWS_CORE_00025].

Обработка ошибок и безопасность исключений

Функция объявлена как noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_CORE_00025]. Возможные ошибки или исключения внутри переданного Callable-объекта поэтому, вероятно, должны перехватываться и обрабатываться внутри самого Callable, поскольку обратная связь об ошибке или исключение не могут быть переданы в вызывающий контекст. Вопрос Q-c8d31cfa9c2e3ab9 (открытый)

Параллелизм и ограничения

Согласно спецификации oneway_execute классифицирована как потокобезопасная (thread-safe) [SWS_CORE_00025]. Таким образом, функция может вызываться конкурентно из различных потоков на одном и том же экземпляре ara::core::Executor. Подключение осуществляется через заголовочный файл #include "ara/core/executor.h" [SWS_CORE_00025].

Это указание по использованию было создано автоматически на основе 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#6ce93f6f
Content hash
6ce93f6f
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

функция 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#86de541e
Content hash
86de541e
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

функция 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#a7709b36
Content hash
a7709b36
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

функция ~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#0e7cbdac
Content hash
0e7cbdac
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