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
फ़्यूचर्स के माध्यम से वैकल्पिक रिटर्न के साथ कॉल करने योग्य ऑब्जेक्ट्स के एसिंक्रोनस, थ्रेड-सुरक्षित निष्पादन को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 690890643de1उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
फ़्यूचर्स के माध्यम से वैकल्पिक रिटर्न के साथ कॉल करने योग्य ऑब्जेक्ट्स के एसिंक्रोनस, थ्रेड-सुरक्षित निष्पादन को सक्षम बनाता है।
वर्ग ara::core::Executor एक गारंटीकृत थ्रेड-सुरक्षित संदर्भ में कॉल करने योग्य ऑब्जेक्ट्स के एसिंक्रोनस निष्पादन के लिए एक इंटरफ़ेस प्रदान करता है। कार्यों को या तो मानों या त्रुटि कोड के लिए ara::core::Future की वापसी के साथ execute[SWS_CORE_00024] के माध्यम से परिणाम-उन्मुख रूप से शुरू किया जाता है, या स्थिति-स्वतंत्र रूप से oneway_execute[SWS_CORE_00025] के माध्यम से फायर-एंड-फॉरगेट मोड में पास किया जाता है। एक केंद्रीय सीमा शर्त के रूप में, यह ध्यान दिया जाना चाहिए कि execute स्वयं थ्रेड-सुरक्षित नहीं है और उसी इंस्टेंस पर समानांतर कॉलों को बाह्य रूप से सिंक्रनाइज़ किया जाना चाहिए, जबकि बैकग्राउंड में कॉलेबल का निष्पादन थ्रेड-सुरक्षित रूप से होता है।
संदर्भ
वर्ग ara::core::Executor एक निष्पादन संदर्भ के लिए एक इंटरफ़ेस प्रदान करता है जो कॉल करने योग्य इकाइयों (Callables) को गारंटीकृत, थ्रेड-सुरक्षित वातावरण में एसिंक्रोनस रूप से निष्पादित करता है। यह कॉलिंग थ्रेड और एसिंक्रोनस बैकग्राउंड प्रोसेसिंग के बीच एक अमूर्तता परत के रूप में कार्य करता है। कार्य सबमिशन के लिए दो तंत्र उपलब्ध हैं: विधि execute[SWS_CORE_00024] एक कार्य को परिणाम-उन्मुख तरीके से सबमिट करती है और एक ara::core::Future ऑब्जेक्ट लौटाती है, जिसके माध्यम से बाद के रिटर्न मान या त्रुटि कोड को सिंक्रनाइज़ और क्वेरी किया जा सकता है। केवल सूचनाओं या स्थिति-स्वतंत्र बैकग्राउंड संचालन के लिए, वर्ग विधि oneway_execute[SWS_CORE_00025] प्रदान करता है, जो फायर-एंड-फॉरगेट सिमेंटिक्स का पालन करती है और कॉलर को कोई एसिंक्रोनस संदर्भ वापस नहीं लौटाती है। संभवतः, समवर्ती प्रसंस्करण का समन्वय करने के लिए ठोस कार्यान्वयन बैकग्राउंड में एक थ्रेड प्रबंधन या कार्य कतार को समाहित करता है। प्रश्न 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 में थ्रेड सुरक्षा की कमी संभवतः परिणामी फ़्यूचर के लिए अंतर्निहित स्थिति ऑब्जेक्ट के आंतरिक निर्माण और प्रबंधन के कारण हो सकती है, इसलिए उसी इंस्टेंस पर execute के समवर्ती कॉलों को बाह्य रूप से सिंक्रनाइज़ किया जाना चाहिए। प्रश्न Q-4425e6b07758230e (खुला)
उपयोग पथ
ara::core::Executor का उपयोग दो मुख्य पथों में विभाजित है, यह इस बात पर निर्भर करता है कि रिटर्न मान की आवश्यकता है या नहीं:
परिणाम-उन्मुख पथ (execute): कॉलर execute[SWS_CORE_00024] को एक कॉल करने योग्य ऑब्जेक्ट f और वैकल्पिक तर्क p... पास करता है। विधि तुरंत एक ara::core::Future लौटाती है, जिसका परिणाम प्रकार कॉल के व्युत्पन्न रिटर्न प्रकार पर आधारित होता है। कॉलेबल को गारंटीकृत संदर्भ में एसिंक्रोनस रूप से निष्पादित किया जाता है। जैसे ही प्रसंस्करण पूरा हो जाता है, कॉलर फ़्यूचर से परिणाम मान या संभावित त्रुटि कोड निकाल सकता है।
वन-वे पथ (oneway_execute): यदि कॉलर को न तो प्रतिक्रिया की आवश्यकता है और न ही सिंक्रनाइज़ेशन की, तो oneway_execute[SWS_CORE_00025] को कॉल किया जाता है। कॉलेबल को भी एसिंक्रोनस रूप से निष्पादित किया जाता है, लेकिन कोई रिटर्न मान मौजूद नहीं होता है (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....
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9d31d266cefdउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::core::Executor का फ़ंक्शन execute पास किए गए फ़ंक्शन ऑब्जेक्ट f को तर्कों (arguments) p... ([SWS_CORE_00024]) के साथ अतुल्यकालिक रूप से निष्पादित करने का काम करता है। रिटर्न मान के रूप में यह एक ara::core::Future प्रदान करता है, जो सफलता की स्थिति में कॉल के परिणाम को समाहित करता है या त्रुटि के मामले में एक संगत त्रुटि कोड प्रदान करता है ([SWS_CORE_00024])। फ़ंक्शन स्वयं विनिर्देशक (specifier) 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) संदर्भ पास किया जाता है, जिसके संदर्भ में प्राप्त ara::core::Result के साथ बाद के निरंतरता (continuation) फ़ंक्शन निष्पादित किए जाते हैं।
यह पाठ स्वचालित रूप से जनरेट किया गया था। सभी तकनीकी विवरण 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....
एआई-जनितअसत्यापितमॉडल: 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]। पास किए गए कॉल करने योग्य के भीतर संभावित त्रुटियों या अपवादों को संभवतः आंतरिक रूप से कॉल करने योग्य में ही पकड़ा और संभाला जाना चाहिए, क्योंकि कॉलिंग संदर्भ में कोई त्रुटि फीडबैक या अपवाद पारित नहीं किया जा सकता है। प्रश्न Q-c8d31cfa9c2e3ab9 (खुला)
समवर्तीता और प्रतिबंध
विनिर्देश के अनुसार, oneway_execute को थ्रेड-सुरक्षित (thread-safe) के रूप में वर्गीकृत किया गया है [SWS_CORE_00025]। इस प्रकार फ़ंक्शन को ara::core::Executor के समान इंस्टेंस पर विभिन्न थ्रेड्स से समवर्ती रूप से कॉल किया जा सकता है। इसे हेडर फ़ाइल #include "ara/core/executor.h"[SWS_CORE_00025] के माध्यम से शामिल किया गया है।
यह उपयोग नोट AUTOSAR R25-11 के आधार पर स्वचालित रूप से बनाया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल