यदि आप कार्य पुस्तकालय (पीटीएल) का उपयोग करते हैं, तो आपको इसके बारे में चिंता करने की आवश्यकता नहीं होगी। आप इसके बारे में अधिक पढ़ सकते हैं here। संक्षेप में:
टीपीएल उपलब्ध सभी प्रोसेसर का सबसे कुशलता से उपयोग करने के लिए गतिशील रूप से समेकन की डिग्री स्केल करता है। इसके अलावा, TPL काम के विभाजन ...
हम टास्क के चारों ओर एक आवरण बना लिया है इस प्रकार संभालता है:
public static class PeriodicTaskFactory
{
public static Task Start(Action action, int intervalInMilliseconds = -1, int delayInMilliseconds = 0, int duration = -1, int maxIterations = -1, bool synchronous = false, CancellationToken cancelToken = null, TaskCreationOptions periodicTaskCreationOptions = TaskCreationOptions.None);
}
और फिर हम यह इतना की तरह कहते हैं। इस मामले में, हम केवल एक ही काम करना चाहते हैं जो पहले निष्पादन में 1 सेकंड की देरी के साथ हर 1 मिनट में एक विधि को कॉल कर रहा है।
PeriodicTaskFactory.Start(() =>
{
CdClMappingLogic.Invoke();
}, 60000, 1000, -1, -1, true)
स्रोत
2013-08-05 13:39:14
जैसा कि मैं इसे समझता हूं, एक प्रबंधित धागा भी अपने मूल धागे पर आवश्यक नहीं है। तो मुझे लगता है कि आपके प्रश्न का उत्तर "न तो" है। – ken
एक कार्य एक थ्रेड की तरह बहुत काम करता है जिसके लिए यह कोर चल रहा है (मुझे विश्वास है)। अपने प्रश्नों के उत्तर देने के लिए यह निर्भर करता है कि आपके कार्य क्या कर रहे हैं, वे कौन से संसाधन सीपीयू/आईओ/मेमोरी/डिस्क का उपयोग कर रहे हैं ...? – TheKingDave
एक कार्य एक कोर से दूसरे तक हो सकता है। आपको वास्तव में क्या पूछना चाहिए "क्या एक कार्य एक से अधिक कोर पर चलता है?"। सं। –