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
Future를 통한 선택적 반환과 함께 호출 가능한 객체의 비동기적이고 스레드로부터 안전한 실행을 가능하게 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 690890643de1출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
Future를 통한 선택적 반환과 함께 호출 가능한 객체의 비동기적이고 스레드로부터 안전한 실행을 가능하게 합니다.
ara::core::Executor 클래스는 보장된 스레드로부터 안전한 컨텍스트에서 호출 가능한 객체를 비동기 실행하기 위한 인터페이스를 제공합니다. 작업은 값 또는 오류 코드에 대한 ara::core::Future 반환과 함께 execute[SWS_CORE_00024]을(를) 통해 결과 지향적으로 시작되거나, Fire-and-Forget 모드에서 oneway_execute[SWS_CORE_00025]을(를) 통해 상태 독립적으로 전달됩니다. 주요 제약 사항으로 execute 자체는 스레드로부터 안전하지 않으며 동일한 인스턴스에 대한 병렬 호출은 외부에서 동기화되어야 하는 반면, 백그라운드에서 Callable의 실행은 스레드로부터 안전하게 수행된다는 점에 유의해야 합니다.
컨텍스트
ara::core::Executor 클래스는 보장된 스레드 안전(thread-safe) 환경에서 호출 가능 단위(Callable)를 비동기적으로 실행하는 실행 컨텍스트용 인터페이스를 제공합니다. 이 클래스는 호출 스레드와 비동기 백그라운드 처리 사이의 추상화 계층 역할을 합니다. 작업 전달을 위해 두 가지 메커니즘을 사용할 수 있습니다. 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의 사용은 반환값이 필요한지 여부에 따라 두 가지 주요 경로로 나뉩니다:
결과 지향 경로(execute): 호출자는 호출 가능 객체 f 및 선택적 인수 p...을(를) execute[SWS_CORE_00024]에 전달합니다. 이 메서드는 호출의 파생된 반환 타입을 기반으로 하는 결과 타입을 갖는 ara::core::Future을(를) 즉시 반환합니다. Callable은 보장된 컨텍스트에서 비동기적으로 실행됩니다. 처리가 완료되는 즉시 호출자는 Future에서 결과 값 또는 잠재적 오류 코드를 추출할 수 있습니다.
단방향 경로(oneway_execute): 호출자에게 피드백과 동기화가 모두 필요하지 않은 경우 oneway_execute[SWS_CORE_00025]이(가) 호출됩니다. Callable 역시 비동기적으로 실행되지만 반환값은 존재하지 않습니다(void).
시퀀스 다이어그램: execute를 통한 비동기 작업 처리 및 Future를 통한 결과 조회. 출처: [SWS_CORE_00024]
오류 시나리오
호출 메서드 execute[SWS_CORE_00024] 및 oneway_execute[SWS_CORE_00025]은(는) C++ 예외를 발생시키지 않으며, 둘 다 명시적으로 noexcept(으)로 지정되어 있습니다. 마찬가지로 사양에서는 전달 호출 자체에 대해 표준화된 오류 코드를 execute에 정의하지 않습니다 [SWS_CORE_00024].
그러나 Callable의 비동기 처리 중에 오류가 발생하는 경우, 이는 execute에서 반환된 ara::core::Future을(를) 통해 전파됩니다. 오류 발생 시 Future는 오류 코드를 캡슐화하는 반면, 성공 시에는 함수 결과가 포함된 타입 ara::core::Result::value_type이(가) 제공됩니다 [SWS_CORE_00024]. oneway_execute[SWS_CORE_00025]의 경우 설계상 호출자에게 오류를 반환할 가능성이 없으며, 오류는 비동기 컨텍스트에 유지됩니다.
이 가이드는 AI에 의해 큐레이션되었으며 AUTOSAR Adaptive R25-11 사양만을 기반으로 합니다.
Asynchronously invoke F with the provided arguments P....
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9d31d266cefd출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::core::Executor의 함수 execute은(는) 전달된 함수 객체 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 사양을 기반으로 합니다.
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....
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1e96ad32e48d출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용법 및 의미론
클래스 ara::core::Executor의 템플릿 함수 oneway_execute은(는) 전달된 인수 p...과(와) 함께 호출 가능한 단위 f(Callable)를 비동기적으로 실행하는 데 사용됩니다 [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].
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문