मैं एक कार्य प्रोजेक्ट के लिए कार्य समानांतर लाइब्रेरी के उपयोग की खोज कर रहा हूं और लंबे समय तक चलने वाले कार्यों के फायदे/नुकसान को समझना चाहता हूं। मुझे अभी तक एक वास्तविक जीवन उदाहरण नहीं मिला है, बस इसके पीछे सिद्धांत को समझना चाहते हैं।कार्य समानांतर लाइब्रेरी - एकाधिक निरंतर कार्य बनाम लंबे समय तक चलने वाला कार्य
एमएसडीएन पृष्ठों के बारे में task schedulers और यह SO question कहता है, ऐसा लगता है कि जितना संभव हो सके लंबे समय तक चलने वाले कार्यों से बचने के लिए सबसे अच्छा है ताकि आप थ्रेडपूल के बाहर धागे नहीं बना रहे हों। लेकिन कहते हैं कि तुम एक काम जो एक लंबे समय पूरा करने के लिए ले जा रहा था था, तब इस की:
Task.Factory.StartNew(() => DoTimeConsumingWork(), TaskCreationOptions.LongRunning)
आप कोशिश करते हैं और काम की तेज इकाइयों छोटे में अपने काम को विभाजित, और कार्य निरंतरता का उपयोग करें, जैसे जा सका यह:
Task.Factory
.StartNew(() => DoWorkPart1())
.ContinueWith(t => DoWorkPart2())
.ContinueWith(t => DoWorkPart3())
//...etc
क्या यह दृष्टिकोण अब और अधिक फायदेमंद होगा या यह हासिल करने की कोशिश कर रहा है इसके लिए यह अधिक है?
यह वास्तव में * लंबे * द्वारा आपके मतलब पर निर्भर करता है। –