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
Maakt de asynchrone, thread-safe uitvoering van aanroepbare objecten mogelijk met optionele teruggave via futures.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 690890643de1HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Maakt de asynchrone, thread-safe uitvoering van aanroepbare objecten mogelijk met optionele teruggave via futures.
De klasse ara::core::Executor biedt een interface voor de asynchrone uitvoering van aanroepbare objecten in een gegarandeerde thread-safe context. Taken worden ofwel resultaatgericht via execute[SWS_CORE_00024] met teruggave van een ara::core::Future voor waarden of foutcodes gestart, ofwel statusonafhankelijk via oneway_execute[SWS_CORE_00025] in fire-and-forget-modus overgedragen. Als centrale randvoorwaarde moet worden opgemerkt dat execute zelf niet thread-safe is en parallelle aanroepen op dezelfde instantie extern moeten worden gesynchroniseerd, terwijl de uitvoering van de callable op de achtergrond thread-safe plaatsvindt.
Context
De klasse ara::core::Executor biedt een interface voor een uitvoeringscontext die aanroepbare eenheden (callables) asynchroon in een gegarandeerde, thread-safe omgeving uitvoert. Ze dient als abstractielaag tussen de aanroepende thread en de asynchrone achtergrondverwerking. Voor de overdracht van opdrachten zijn twee mechanismen beschikbaar: De methode execute[SWS_CORE_00024] draagt een taak resultaatgericht over en retourneert een ara::core::Future-object, waarmee de latere retourwaarde of een foutcode kan worden gesynchroniseerd en opgevraagd. Voor loutere notificaties of statusonafhankelijke achtergrondoperaties biedt de klasse de methode oneway_execute[SWS_CORE_00025], die een fire-and-forget-semantiek volgt en geen asynchrone context aan de aanroeper teruglevert. Vermoedelijk kapselt de concrete implementatie op de achtergrond een threadbeheer of taakwachtrij in om de gelijktijdige verwerking te coördineren. Vraag Q-068fe33f2900d6cf (open)
Levenscyclus
De instantiëring en levensduur van een ara::core::Executor zijn onderworpen aan gedifferentieerde regels met betrekking tot exception safety en thread safety:
Kopiëren: De copy-constructor [SWS_CORE_00009] en de copy-assignment-operator [SWS_CORE_00017] zijn als thread-safe gespecificeerd, maar niet als exception-safe (not exception safe) geclassificeerd. Een kopieerbewerking kan daarom mislukken als benodigde resources niet kunnen worden gealloceerd.
Verplaatsen: De move-constructor [SWS_CORE_00015] en de move-assignment [SWS_CORE_00018] zijn gedeclareerd als noexcept en daarmee exception-safe. Verplaatsingsbewerkingen zijn echter niet thread-safe (not thread-safe), waardoor gelijktijdige toegangen tijdens het verplaatsen door de aanroeper moeten worden gesynchroniseerd.
Vernietiging: De destructor [SWS_CORE_00019] is uitgevoerd als noexcept en thread-safe, waardoor de levenscyclus van een instantie veilig kan worden beëindigd.
Wat betreft gelijktijdigheid tijdens bedrijf is een fundamentele scheiding zichtbaar: Terwijl oneway_execute[SWS_CORE_00025] thread-safe is, is execute[SWS_CORE_00024] geclassificeerd als niet thread-safe. Het ontbreken van thread safety bij execute is vermoedelijk toe te schrijven aan het intern aanmaken en beheren van het onderliggende toestandsobject voor de resulterende future, waardoor gelijktijdige aanroepen van execute op dezelfde instantie extern moeten worden gesynchroniseerd. Vraag Q-4425e6b07758230e (open)
Gebruikspad
Het gebruik van ara::core::Executor valt uiteen in twee hoofdtrajecten, afhankelijk van de vraag of een retourwaarde vereist is:
Resultaatgericht pad (execute): De aanroeper draagt een aanroepbaar object f en optionele argumenten p... over aan execute[SWS_CORE_00024]. De methode levert onmiddellijk een ara::core::Future terug, waarvan het resultaattype is gebaseerd op het afgeleide retourtype van de aanroep. De callable wordt asynchroon in de gegarandeerde context uitgevoerd. Zodra de verwerking is voltooid, kan de aanroeper de resultaatwaarde of een potentiële foutcode uit de future extraheren.
Eenrichtingspad (oneway_execute): Heeft de aanroeper respons noch synchronisatie nodig, dan wordt oneway_execute[SWS_CORE_00025] aangeroepen. De callable wordt eveneens asynchroon uitgevoerd, maar er bestaat geen retourwaarde (void).
Sequentiediagram: Asynchrone taakafhandeling via execute en opvragen van het resultaat via future. Bronnen: [SWS_CORE_00024]
Foutscenario's
De aanroepmethoden execute[SWS_CORE_00024] en oneway_execute[SWS_CORE_00025] werpen geen C++-uitzonderingen op; beide zijn expliciet gespecificeerd als noexcept. Evenzo definieert de specificatie voor execute geen gestandaardiseerde foutcodes voor de overdrachtsaanroep zelf [SWS_CORE_00024].
Treedt er echter tijdens de asynchrone verwerking van de callable een fout op, dan wordt deze gepropageerd via het door execute geretourneerde ara::core::Future: in geval van een fout kapselt de future een foutcode in, terwijl bij succes het type ara::core::Result::value_type met het functieresultaat beschikbaar wordt gesteld [SWS_CORE_00024]. Bij oneway_execute[SWS_CORE_00025] bestaat er door het ontwerp geen mogelijkheid tot foutteruggave aan de aanroeper; fouten blijven in de asynchrone context.
Deze handleiding is samengesteld door een AI en baseert zich uitsluitend op de specificatie van AUTOSAR Adaptive R25-11.
Asynchronously invoke F with the provided arguments P....
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9d31d266cefdHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De functie execute van de klasse ara::core::Executor dient voor de asynchrone uitvoering van een meegegeven functieobject f samen met de argumenten p... ([SWS_CORE_00024]). Als retourwaarde levert ze een ara::core::Future op, die bij succes het resultaat van de aanroep inkapselt of in geval van een fout een passende foutcode beschikbaar stelt ([SWS_CORE_00024]). De functie zelf is gedeclareerd met de specificator noexcept.
Gestandaardiseerde foutcodes worden voor de functieaanroep niet gespecificeerd ([SWS_CORE_00024]). Wat betreft gelijktijdigheid is execute weliswaar geclassificeerd als exception safe, maar geldt expliciet als not thread-safe ([SWS_CORE_00024]). Parallelle toegang tot dezelfde instantie van ara::core::Executor moet daarom vermoedelijk op gebruikersniveau worden gesynchroniseerd. Vraag Q-6b839826a7d9742f (open)
De interactie met asynchrone control flows blijkt met name bij ketens via then ([SWS_CORE_00337], [SWS_CORE_06237]). Daar wordt een executor-context meegegeven in de context waarvan opvolgende continuation-functies met het verkregen ara::core::Result worden uitgevoerd.
Deze tekst is automatisch gegenereerd. Alle inhoudelijke gegevens zijn gebaseerd op de specificatie AUTOSAR Adaptive R25-11.
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
Fehlercode
Beschreibung
This function does not specify any standardized errors.
Request a governed re-review of this record. The record is not changed immediately.
Asynchronously invoke F with the provided arguments P....
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1e96ad32e48dHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik en semantiek
De template-functie oneway_execute van de klasse ara::core::Executor dient voor de asynchrone uitvoering van een aanroepbare eenheid f (callable) met de meegegeven argumenten p...[SWS_CORE_00025]. Omdat de functie geen retourwaarde oplevert (retourtype void) en de uitvoering asynchroon plaatsvindt, keert de aanroep onmiddellijk terug naar de aanroeper, zonder te wachten op het einde of een resultaat van de uitvoering [SWS_CORE_00025].
Foutafhandeling en uitzonderingsveiligheid
De functie is gedeclareerd als noexcept en gespecificeerd als exceptieveilig (exception safe) [SWS_CORE_00025]. Mogelijke fouten of excepties binnen het meegegeven callable moeten daarom vermoedelijk intern in het callable zelf worden opgevangen en afgehandeld, aangezien er geen foutterugmelding of exceptie aan de aanroepende context kan worden doorgegeven. Vraag Q-c8d31cfa9c2e3ab9 (open)
Gelijktijdigheid en beperkingen
Conform de specificatie is oneway_execute geclassificeerd als thread-safe (thread-safe) [SWS_CORE_00025]. De functie kan zodoende gelijktijdig vanuit verschillende threads op dezelfde instantie van ara::core::Executor worden aangeroepen. De invoeging vindt plaats via het headerbestand #include "ara/core/executor.h"[SWS_CORE_00025].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel