यदि यह आपके लिए उपलब्ध है, तो जावा 5 के निष्पादक ढांचे का उपयोग न करने के कारण के बारे में सोचना मुश्किल है । कॉलिंग:
ScheduledExecutorService ex = Executors.newSingleThreadScheduledExecutor();
आपको ScheduledExecutorServiceइसी तरह की कार्यक्षमता के साथ Timerदेगा (यानी यह एकल-थ्रेडेड होगा) लेकिन जिसकी पहुंच थोड़ी अधिक मापनीय हो सकती है (हुड के तहत, यह Timerवर्ग के साथ पूर्ण तुल्यकालन के बजाय समवर्ती संरचनाओं का उपयोग करता है )। एक का उपयोग करने से ScheduledExecutorServiceआपको लाभ मिलता है जैसे:
- जरूरत पड़ने पर आप इसे कस्टमाइज कर सकते हैं (
newScheduledThreadPoolExecutor()या ScheduledThreadPoolExecutorकक्षा को देखें)
- 'एक बंद' निष्पादन परिणाम वापस कर सकता है
Timerमेरे विचार से चिपके रहने के एकमात्र कारणों के बारे में हैं:
- यह प्री जावा 5 उपलब्ध है
- J2ME में एक समान वर्ग प्रदान किया गया है, जो आपके आवेदन को पोर्ट करना आसान बना सकता है (लेकिन इस मामले में अमूर्तता की एक आम परत जोड़ना बहुत मुश्किल नहीं होगा)