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