इसका मतलब था: जब आप अपने ऐप साइड इफेक्ट्स को मुफ्त में डिज़ाइन करते हैं, तो क्या एफ # कोड स्वचालित रूप से सभी कोरों में वितरित किया जाएगा?क्या एफ # आपको स्वचालित समांतरता प्रदान करता है?
उत्तर
नहीं, मुझे डर नहीं है। यह देखते हुए कि एफ # शुद्ध कार्यात्मक भाषा (सख्त अर्थ में) नहीं है, इसलिए ऐसा करना मुश्किल होगा, इसलिए मुझे विश्वास है। एफ # में समांतरता का अच्छा उपयोग करने का प्राथमिक तरीका Async वर्कफ़्लो (मुख्य रूप से Async मॉड्यूल के माध्यम से मुझे विश्वास है) का उपयोग करना है। टीपीएल (टास्क समांतर लाइब्रेरी), जिसे .NET 4.0 के साथ पेश किया जा रहा है, एफ # में समान भूमिका निभाने जा रहा है (हालांकि विशेष रूप से इसका उपयोग सभी .NET भाषाओं में भी समान रूप से किया जा सकता है), हालांकि मैं यह नहीं कह सकता कि मैं ' मुझे यकीन है कि यह मौजूदा एसिंक फ्रेमवर्क के साथ एकीकृत करने जा रहा है। शायद माइक्रोसॉफ्ट बस सब कुछ के लिए टीपीएल के उपयोग की सलाह देगा, या शायद वे दोनों एक विकल्प के रूप में छोड़ देंगे और अंत में एक वास्तविक तथ्य बन जाएगा ...
वैसे भी, यहां अतुल्यकालिक प्रोग्रामिंग/वर्कफ़्लो पर कुछ लेख दिए गए हैं आपको शुरू करने के लिए एफ # में।
नहीं, यह नहीं होगा। एफ # द्वारा समर्थित कई तंत्रों में से एक के माध्यम से आपको अभी भी अन्य थ्रेडों के लिए स्पष्ट रूप से मार्शल कॉल करना होगा।
नहीं, मुझे पूरा यकीन है कि यह आपके लिए स्वचालित रूप से समानांतर नहीं होगा। इसे पता होना चाहिए कि आपका कोड साइड-इफेक्ट मुक्त था, जो साबित करना मुश्किल हो सकता है, एक चीज़ के लिए।
बेशक, एफ # इसे आसान बना सकता है आपके कोड को समानांतर करने के लिए, विशेष रूप से यदि आपके पास कोई दुष्प्रभाव नहीं है ... लेकिन यह एक अलग मामला है।
क्या शुद्ध और अशुद्ध कार्यों के बीच एफ # की विशिष्ट प्रणाली नहीं है? इसलिए यह नहीं होना चाहिए कि एक ऑपरेशन को साइड-इफेक्ट मुक्त करना मुश्किल था। –
धन्यवाद जॉन। आपको साबित करके, आपको अनुबंधों जैसी सामग्री का उपयोग करना होगा? –
मुझे उस भेद के बारे में पता नहीं है, लेकिन यह कहने का एक लंबा रास्ता है कि यह वहां नहीं है। संभवतः ढांचे के साथ किसी भी बातचीत में कटौती - और अपवादों के बारे में क्या? –
मेरी समझ यह है कि यह Parallel Extensions is being modified पर इसे F # द्वारा उपभोग करने योग्य नहीं होगा। जो इसे स्वचालित रूप से बहु-थ्रेड नहीं करेगा, इसे हासिल करना बहुत आसान बनाना चाहिए।
अच्छी पकड़ रिचर्ड ... कम नींद में चल रहा है मानना है कि मैंने लिखा है कि – JoshBerke
अन्य लोगों की तरह, एफ # स्वचालित रूप से कोरों में स्केल नहीं होगा और फिर भी जोश ने उल्लेख किया है कि समांतर एफएक्स के बंदरगाह जैसे ढांचे की आवश्यकता होगी।
एफ # आमतौर पर समांतर प्रसंस्करण के लिए संभावित रूप से जुड़ा हुआ है क्योंकि यह अपरिवर्तनीय वस्तुओं के लिए डिफ़ॉल्ट है, कई परिदृश्यों के लिए लॉक करने की आवश्यकता को हटा रहा है।
ठीक है, आप अपने जवाब है, लेकिन मैं अभी जोड़ने के लिए मुझे लगता है कि इस तथ्य यह है कि से उत्पन्न एफ # का सबसे महत्वपूर्ण सीमा है चाहता था यह हाइब्रिड अनिवार्य/कार्यात्मक भाषा है।
मैं एफ # में कुछ एक्सटेंशन देखना चाहता हूं जो एक समारोह को शुद्ध होने की घोषणा करता है। यही है, इसका कोई दुष्प्रभाव नहीं है जो फ़ंक्शन के प्रकार से इंगित नहीं होता है। विचार यह होगा कि एक समारोह केवल तभी शुद्ध होता है जब यह अन्य "ज्ञात शुद्ध" कार्यों का संदर्भ देता है। बेशक, यह केवल तब उपयोगी होगा जब यह आवश्यक हो कि एक प्रतिनिधि पैरामीटर के रूप में पारित एक प्रतिनिधि एक शुद्ध कार्य संदर्भित करता है।
धन्यवाद डैनियल। मैंने सोचा कि एफ # में "शुद्ध" कीवर्ड था। यह नहीं है? –
एफ # इसे स्वचालित नहीं बनाता है, यह बस इसे आसान बनाता है।
फिर भी Luca's PDC talk से लिंक करने का एक और मौका। 52:20 से शुरू होने वाले आठ मिनट एफ # एसिंक वर्कफ़्लोज़ का एक शानदार डेमो हैं। यह जबरदस्त है!
मैं इसे देख लूंगा, धन्यवाद। –
शुद्धता एनोटेशन पर: Code Contracts में एक शुद्ध विशेषता है। मुझे याद है कि बीसीएल के कुछ हिस्सों में पहले से ही इसका इस्तेमाल किया जा रहा है। संभावित रूप से, इस विशेषता का उपयोग समांतरता ढांचे के साथ भी किया जा सकता है, लेकिन मुझे इस बिंदु पर इस तरह के काम से अवगत नहीं है। साथ ही, मुझे यह भी सुनिश्चित नहीं है कि एफ # के भीतर कोड संपर्क कितने अच्छे हैं, इसलिए यहां बहुत सारे अज्ञात हैं।
फिर भी, यह देखना दिलचस्प होगा कि यह सब सामान एक साथ कैसे आता है।
मुझे लगता है कि मैंने बीसीएल में परावर्तक में कुछ देखा है। –
- 1. स्वचालित समांतरता
- 2. स्वचालित Excel 2010 एफ #
- 3. क्या पृष्ठभूमिवर्कर वास्तविक मल्टीथ्रेडिंग प्रदान करता है?
- 4. क्या ग्रोवी एक तंत्र प्रदान करता है?
- 5. क्या easy_install खोज कमांड प्रदान करता है?
- 6. क्या आपको क्लाइंट जार में निर्भर पुस्तकालय प्रदान करना चाहिए?
- 7. 'इन' कीवर्ड एफ # में क्या करता है?
- 8. यह क्या करता है: गिट शाखा-एफ
- 9. एफ # स्वचालित सामान्यीकरण और प्रदर्शन
- 10. क्या स्पष्ट लॉक स्वचालित रूप से स्मृति दृश्यता प्रदान करता है?
- 11. Concurrency समांतरता नहीं है?
- 12. समांतरता फ्रेमवर्क
- 13. जावास्क्रिप्ट समांतरता
- 14. क्या आईओएस एसडीके कतार और ढेर प्रदान करता है?
- 15. क्या क्यूटी एक (गारंटीकृत) डीबग परिभाषा प्रदान करता है?
- 16. क्या एक्सकोड सिम्युलेटर में iCal प्रदान करता है?
- 17. क्या Orbitz.com एकीकरण के लिए वाणिज्यिक एपीआई प्रदान करता है?
- 18. सास नियमित सीएसएस पर क्या फायदे प्रदान करता है?
- 19. क्या PHP का FILTER_VALIDATE_EMAIL पर्याप्त सुरक्षा प्रदान करता है?
- 20. क्या जावा 'मित्र' पहुंच संशोधक प्रदान करता है?
- 21. क्या कोई मौसम एपीआई यूवी इंडेक्स प्रदान करता है?
- 22. जावास्क्रिप्ट रूटिंग आपको क्या खरीदता है?
- 23. SAML वास्तव में सुरक्षा प्रदान करता है?
- 24. क्या आपको प्रदान किए जाने पर ईआरबी को सही इंडेंट करने के लिए मिल सकता है?
- 25. क्या ऐसी कोई साइट है जो एक इंटरैक्टिव एफ # खोल प्रदान करती है?
- 26. क्या है -> एफ # में मतलब है?
- 27. लेआउट परिभाषा। "आपको एक लेआउट_विड्थ विशेषता प्रदान करनी होगी।"
- 28. एफ # इनलाइन कैसे काम करता है?
- 29. प्रदान करता है और सी # में समकक्ष लागू करता
- 30. .net, क्या आपको लेनदेन वस्तु मिलती है?
"यह देखते हुए कि F # नहीं है एक शुद्ध कार्यात्मक भाषा "। असल में, शुद्धता अप्रासंगिक है। –
@ जोन: यही वह जगह है जहां आप गलत हैं। यह बहुत प्रासंगिक है। संकलक इस तरह की आवश्यक मान्यताओं को नहीं बना सकता है। – Noldorin
हमने दशकों तक फोर्ट्रान जैसी अनिवार्य भाषाओं के लिए वेक्टरिंग कंपाइलर्स बनाए हैं। मेरा मुद्दा यह था कि वे मल्टीकोर समांतरता के संदर्भ में शुद्धता के रूप में व्यावहारिक रूप से बेकार साबित हुए। –