2010-09-30 4 views
14

में बहु थ्रेडिंग सीखने में मदद करने के लिए व्यायाम सुझाव मैं सी # में बहु-थ्रेडिंग का अच्छा समझ प्राप्त करना चाहता हूं। मैंने Joseph Albahari's tutorials जैसे कुछ लेख पढ़े हैं जो अवधारणाओं को समझाते हैं, लेकिन जैसा कि आप जानते हैं, इससे कोई फर्क नहीं पड़ता कि आप कितना पढ़ते हैं, यदि आप अभ्यास नहीं करते हैं तो यह अधिकतर बकवास हो जाता है। मुझे कुछ ऐसी चीज चाहिए जिसमें वास्तविक जीवन प्रथाओं से संबंधित निर्देशक और व्यावहारिक कोड उदाहरण हों, कुछ उदाहरणों को मुद्रित करने वाले कुछ उदाहरण नहीं। क्या तुम्हारे पास कोई सुझाव है?सी #

उत्तर

4

लोग लोग मुझे लगता है कि मुझे एक अच्छी साइट मिली है: planet-source-code.com। "सूत्र" कीवर्ड के साथ नेट कोड में सर्च कर रहे हैं की तरह

  • बहु लड़ी फ़ोल्डर तुल्यकालन
  • बहु पिरोया टीसीपी सर्वर
  • पृष्ठभूमि फ़ाइल डाउनलोडर
  • async, कुछ अच्छे उदाहरण वापस जाने के लिए लगता है। सॉकेट
  • पी 2 पी फ़ाइल साझाकरण
  • सरल पीओपी 3 कंसोल मेल चेकर और अन्य बहुत सारे!

yay!

+0

मुझे लगता है कि आपको लिंक को ठीक करना चाहिए: ".com" के बाद डैश हटाएं। – AlexSavAlexandrov

+0

ठीक है, ऐसा किया। धन्यवाद दोस्त। – aslisabanci

2

यदि आप कोई विनफॉर्म या डब्ल्यूपीएफ विकास कर रहे हैं, तो आप यूआई थ्रेड में "सामान" करने का प्रयास करते समय तुरंत मुद्दों पर चले जाएंगे।

मान लें कि आपको एक बड़ी (2 जीबी) एक्सएमएल फ़ाइल की सामग्री को पढ़ने और पार्स करने की आवश्यकता है। यदि यूआई थ्रेड में काम किया गया था, तो काम पूरा होने तक इंटरफ़ेस लटका होगा। इसके विपरीत, यदि आप कार्यकर्ता धागे में सही तरीके से काम करना चाहते थे, तो आप यूआई को उत्तरदायी के माध्यम से उत्तरदायी रख सकते हैं और उपयोगकर्ता को यह जान सकते हैं कि आप वर्तमान में क्या कर रहे हैं (स्टेटस बार (यूघ,) या टेक्स्ट में प्रदर्शित करें जो आप हैं "एक्सएमएल पढ़ना"। आदि)

एक अच्छा सरल उदाहरण नमूना आवेदन करना होगा और पृष्ठभूमि में कुछ मनमाना काम को संभालने के लिए इसे पृष्ठभूमिवर्कर से आग लगाना होगा (यह थ्रेड भी हो सकता है। सो जाओ (10000), या उस तरह कुछ तुच्छ।)

मैं कहूंगा कि यह विषय पर कई अच्छे शुरुआती बिंदुओं में से एक है।

http://msdn.microsoft.com/en-us/library/cc221403%28VS.95%29.aspx

+0

मैं ज्यादातर पृष्ठभूमि संचार क्षेत्र में हूं, सॉकेट और वेब सेवाओं के साथ। लेकिन सुझाव के लिए धन्यवाद, मैं इसके साथ शुरू करूंगा :) – aslisabanci

2

यह site कुछ नमूना अनुप्रयोगों मैं लागू करने के लिए सभ्य व्यवहार अनुप्रयोगों होगा लगता है कि नहीं है। हालांकि, ऐसा लगता है कि स्रोत कोड के लिंक टूटा हुआ है। फिर भी, मेरा मानना ​​है कि प्रस्तुत अनुप्रयोग बहुत व्यावहारिक उदाहरणों का प्रतिनिधित्व करते हैं। कुछ में शामिल हैं:

  • डेस्कटॉप खोज
  • डाउनलोड प्रबंधक
  • एफ़टीपी ग्राहक
  • फ़ाइल संपीड़न
  • एकाधिक आरएसएस फ़ीड
+0

हाँ यह वही था जो मैं ढूंढ रहा था। स्रोत बहुत खराब हैं :( – aslisabanci

3

यादृच्छिक संख्या crunching के कुछ प्रकार एक अच्छा परीक्षण है इसके लिए। मैंने खुद को एक प्राइम नंबर खोजक लिखकर थ्रेडिंग सिखाई, फिर मेरे "सर्च" नंबरों को ब्लॉक में तोड़ दिया और प्रत्येक के माध्यम से काम करने के लिए धागे का उपयोग किया।

यह मुझे ब्लॉक आकार, उपयोग करने के लिए धागे की संख्या, फायरिंग थ्रेड इत्यादि के बीच प्रतीक्षा समय आदि पर कुछ चर सेट करने देता है ताकि यह जांच सके कि इनमें से प्रत्येक प्रदर्शन को कैसे प्रभावित करता है।