मैं पोस्ट() या SendAsync() के माध्यम से आइटम भेजने के बीच अंतर के बारे में उलझन में हूं। मेरी समझ यह है कि सभी मामलों में एक आइटम एक डेटा ब्लॉक के इनपुट बफर तक पहुंचने के बाद, कॉलिंग संदर्भ में नियंत्रण वापस कर दिया जाता है, सही? तो मुझे कभी भी SendAsync क्यों चाहिए? अगर मेरी धारणा गलत है तो मुझे आश्चर्य है, इसके विपरीत, कोई भी पोस्ट() का उपयोग क्यों करेगा यदि डेटा ब्लॉक का उपयोग करने का पूरा विचार एक समवर्ती और एसिंक पर्यावरण स्थापित करना है।टीपीएल डेटाफ्लो, पोस्ट() और SendAsync() के बीच कार्यात्मक अंतर क्या है?
मैं समझता हूं कि उस पोस्ट में तकनीकी रूप से अंतर() एक बूल देता है जबकि SendAsync बूल का एक प्रतीक्षा योग्य कार्य देता है। लेकिन इसका क्या प्रभाव है? एक बूल की वापसी कब होगी (जो मैं समझता हूं कि यह पुष्टि है कि आइटम को डेटा ब्लॉक की कतार में रखा गया था या नहीं) कभी देरी हो सकती है? मैं async/प्रतीक्षारक समरूपता ढांचे के सामान्य विचार को समझता हूं लेकिन यहां यह पूरी तरह से समझ में नहीं आता है क्योंकि एक बूल के अलावा, पास किए गए आइटम को जो कुछ भी किया जाता है, उसके परिणाम कॉलर को कभी वापस नहीं लौटाए जाते हैं बल्कि इसके बजाय "आउट-कतार" और या तो लिंक किए गए डेटा ब्लॉक या त्याग किए जाने के लिए अग्रेषित किया गया।
और क्या आइटम भेजते समय दो तरीकों के बीच कोई प्रदर्शन अंतर है?
ठीक है लेकिन आपकी स्पष्टीकरण दी गई है, तो 'कार्य' के पीछे तर्क क्या है? अगर यह स्थगन के कारण तुरंत जमा नहीं हो सकता है लेकिन कार्य बाद में पूरा हो जाता है तो बूल के बीच क्या अंतर सही और गलत होता है? –
ब्लॉक अंततः उस संदेश को अस्वीकार करने का निर्णय ले सकता है (उदाहरण के लिए, यदि आप ब्लॉक को पूरा करते हैं), तो इस मामले में कार्य का परिणाम 'झूठा' होगा। अद्यतन उत्तर देखें। –
बढ़िया, अब यह पूरी तरह से समझ में आता है, कि संभावना पूरी तरह से मेरे दिमाग फिसल गई। बहुत बहुत धन्यवाद। –