एक छोटी सी के लिए सवाल पैदा, मुझे पता है, लेकिन। । ।
System.Timers.Timer
System.Threading.Timer
के आसपास एक रैपर है, जो बदले में विंडोज़ Timer Queues के आसपास एक .NET wrapper है। टाइमर कतार टाइमर बहुत हल्के होते हैं - कुछ सिस्टम संसाधनों का उपयोग करें। मैंने हजारों टाइमर तक नहीं बढ़ाया है, लेकिन सैकड़ों टाइमर बस ठीक काम करते हैं। मैं थोड़ा सा कार्यान्वयन करने में सक्षम हूं, मैं कल्पना नहीं कर सकता कि हजारों टाइमर के साथ कोई परेशानी होगी।
शायद किसी विशेष टाइमर कतार में आपके पास टाइमर की संख्या पर कुछ सीमा हो सकती है। मुझे नहीं पता कि वह सीमा क्या है। जब मैंने एक साल या उससे पहले इन टाइमर की जांच की, तो ऐसा लगता था कि .NET Framework प्रति प्रक्रिया एक टाइमर कतार बनाता है (या शायद यह प्रति ऐप डोमेन था), और आपके द्वारा बनाए गए सभी टाइमर उस कतार में डाल दिए जाते हैं।
शायद यह आपके सिस्टम को बनाकर टाइमर कतार कार्यक्षमता को डुप्लिकेट करने का अर्थ नहीं है जो एक टाइमर और कुछ प्रकार की प्राथमिकता कतार तंत्र का उपयोग करता है जिसे अगली कहा जाता है उसे नियंत्रित करने के लिए। टाइमर कतार आपके लिए पहले से ही यही है।
ऐसा लगता है कि आप आसानी से एक परीक्षण कार्यक्रम बना सकते हैं जो 10,000 टाइमर बनाता है। आखिरी के बाद एक सेकंड को टिकने के लिए प्रत्येक सेट करें, और इसकी अवधि 10,000 सेकंड पर सेट करें। फिर वापस बैठो और इसे टिकटें। या आपका प्रोग्राम ट्रैक रखता है कि कौन आगे टिकेगा और वास्तव में कौन आगे टिकता है।
स्रोत
2010-09-02 23:36:55
मेरे पास थ्रेडिंग.Timer के बारे में एक समान सवाल है। – GregC
@ ग्रेगसी, क्या आप इसे एक लिंक पोस्ट कर सकते हैं ताकि मैं उन उत्तरों को देख सकूं? – tster