2010-10-21 16 views
5

यह सवाल व्यक्तिपरक हो सकती है, लेकिन मैं सिर्फ जब TPL और जब उपयोग करने के लिए देशी धागा आधारित तुल्यकालन उपयोग करने के लिए (evnts, रुको हैंडल) जानना चाहते हैं।टास्क समानांतर पुस्तकालय विरुद्ध स्थानीय थ्रेड तुल्यकालन

क्या मूल धागा सिंक्रनाइज़ेशन तकनीक अप्रचलित हो जाएगी?

धन्यवाद

उत्तर

4

TPL उपयोग भी आप कर सकते हैं, क्योंकि यह एक क्लीनर, अधिक कथात्मक समानांतरवाद के लिए अपनी आवश्यकताओं को व्यक्त करने का तरीका है।

MSDN बताते "TPL सबसे अधिक कुशलता से सभी प्रोसेसर कि उपलब्ध हैं का उपयोग करें। इसके अलावा, TPL काम के विभाजन हैंडल करने के लिए संगामिति की डिग्री मापता है गतिशील, ThreadPool पर धागे रद्द समर्थन का निर्धारण, राज्य प्रबंधन, और अन्य निम्न स्तर के विवरण। TPL का उपयोग करके आप अपने कोड के प्रदर्शन, जबकि काम है कि अपने कार्यक्रम पूरा करने के लिए डिज़ाइन किया गया है पर ध्यान केंद्रित कर अधिकतम कर सकते हैं। "

http://www.albahari.com/threading/part5.aspx भी देखें जो 'डेटा समांतरता' और अन्य टीपीएल लाभों के लाभों का विवरण देता है।

1

समानांतर एक्सटेंशन छोटे कार्यों parallelizing के लिए महान काम करता है। समांतर एक्सटेंशन वास्तव में कोड संरचना प्रदान करते हैं। उदाहरण के लिए ForEach सामान्य foreach कथन को प्रतिस्थापित करता है, लेकिन इसके बजाय इसे समानांतर में निष्पादित करेगा। यही स्तर समानांतर एक्सटेंशन का उपयोग करने के लिए किया जाता है।

जब आप एक पूर्ण बहु थ्रेडिंग एप्लिकेशन (उदा। वेब सर्वर) बना रहे हैं, तो सामान्य थ्रेडिंग और सिंक्रनाइज़ेशन का उपयोग अभी भी किया जाना चाहिए। बेशक, डब्ल्यूसीएफ और आईआईएस पहले से ही आपके लिए ऐसी समस्याएं हल कर रहा है।

बेशक, मध्य मैदान है जो थ्रेड पूल द्वारा हल किया जाता है।

1

कार्य समानांतर लाइब्रेरी मुख्य रूप से थ्रेड सिंक्रनाइज़ेशन के लिए नहीं है, यह अधिक कार्यों को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है। टीपीएल निम्नलिखित चरणों को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है:

  1. इसे छोटे हिस्सों में विभाजित करें।
  2. मल्टीथ्रेडिंग के माध्यम से समानांतर में उन हिस्सों का निष्पादन करें।
  3. थ्रेड-सुरक्षित और निष्पादक तरीके से परिणाम उपलब्ध होने के साथ परिणामों को संकलित करें।

और केवल तीसरा आइटम थ्रेड सिंक्रनाइज़ेशन से संबंधित है। और निश्चित रूप से आप अभी भी थ्रेड-सुरक्षित तरीके से संयोजन परिणाम निष्पादित करने के लिए ज्ञात थ्रेड सिंक्रनाइज़ेशन प्राइमेटिव का उपयोग कर सकते हैं (उदाहरण के लिए कक्षा समानांतर का उपयोग करके, जब आपको यह परिणाम स्वयं को जोड़ना चाहिए)।

संबंधित मुद्दे