मैं एक अनुरोध टाइमआउट तंत्र पर काम कर रहा हूं। मेरा प्रारंभिक दृष्टिकोण एक सिस्टम बनाना होगा। प्रत्येक अनुरोध के लिए थ्रेडिंग। टिमर। समवर्ती अनुरोधों की संख्या हजारों तक बढ़ सकती है।सिस्टम है। थ्रेडिंग। टिमर हजारों समवर्ती टाइमर के लिए पर्याप्त कुशल है?
मैं अगर मैं बजाय एक TimeoutScheduler कि आंतरिक रूप से बजाय अनुरोध के अनुसार एक होने का केवल एक टाइमर का प्रयोग करेंगे बनाने चाहिए सोच रहा हूँ।
कोई भी जो सिस्टम के आंतरिक को जानता है। थ्रेडिंग। टिमर मुझे कुछ अंतर्दृष्टि दें यदि टाइमआउट शेड्यूलर एक अच्छा विचार होगा या अगर यह केवल कुछ पहले से ही कुशलतापूर्वक अनुकूलित करने का प्रयास करेगा।
नोट: मेरी परिदृश्य के लिए, टाइमर परिशुद्धता महत्वपूर्ण नहीं है।
(मैं समवर्ती टाइमर का बहुत कुछ के साथ System.Threading.Timer के साथ कुछ प्रदर्शन परीक्षण किया था। यह अच्छी तरह से पैमाने पर करने लग रहा था, लेकिन मुझे यकीन है कि अगर यह एक वास्तविक प्रणाली में अवांछित दबाव डाला जाएगा नहीं कर रहा हूँ)
रेमंड चेन का आलेख एक अलग प्रकार के टाइमर का वर्णन करता है। – SLaks
@ स्लक्स: रेमंड चेन का लेख किसी विशिष्ट प्रकार के टाइमर का वर्णन नहीं करता है। वह अंत में विंडोज फॉर्म टाइमर को गुजरने का जिक्र करता है, और मैं आपको आश्वस्त करता हूं कि मैं अंतर के बारे में अच्छी तरह से जानता हूं, लेकिन ** ** ** ** ** ** टाइमर विंडोज टाइमर लपेटते हैं और सभी एक ही चेतावनी के अधीन हैं। – Aaronaught
वास्तव में, रेमंड चेन का आलेख SetTimer द्वारा बनाए गए टाइमर का वर्णन करता है। 'System.Threading.Timer' वास्तव में एक टाइमर कतार टाइमर है (http://msdn.microsoft.com/en-us/library/ms686796(v=VS.85).aspx), जो अनिवार्य रूप से एक टाइमर है और अगली घटना को आग लगने का निर्धारण करने का एक प्रभावी तंत्र। –