वर्तमान में मैं प्रत्येक अंतराल समय में कुछ फ़ंक्शन निष्पादित करने के लिए टाइमर का उपयोग कर रहा हूं। हालांकि, बाद में जब मैं फ़ंक्शन निष्पादित करने के अंतराल को बदलना चाहता हूं, तो मैं पिछले शेड्यूल को रद्द नहीं कर सकता। यह कैसे हल किया जा सकता है? धन्यवादटाइमर के मौजूदा शेड्यूल को कैसे रद्द करें
उत्तर
timer.cancel()
विधि के साथ आप टाइमर और सभी निर्धारित कार्यों को रद्द कर सकते हैं। (API documentation देखें) या आप अपने TimerTask timertask.cancel()
पर विधि रद्द कॉल कर सकते हैं आप निर्धारित समय आप TimerTask रद्द करके एक नया TimerTask जोड़ना चाहिए बदलना चाहते हैं (API documentation देखें)
।
टाइमरटास्क # रद्द करें और फिर टाइमर # शुद्ध() काम नहीं करता है। यह अभी भी चलता है। – JohnyTex
आप Timer
के बजाय ScheduledThreadPoolExecutor का उपयोग करने में देख सकते हैं।
उपयोग बहुत सीधे आगे है।
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
और फिर जब आप एक काम जोड़ना चाहते हैं आप कॉल:: आप एक प्रबंधक का एक उदाहरण बनाने
executor.scheduleAtFixedRate(myRunnable, delay, interval, unit);
कहाँ myRunnable
अपने कार्य को (जो Runnable
-interface लागू करता है) है, delay
है कार्य को पहली बार निष्पादित करने से पहले, interval
पहले निष्पादन के बाद कार्य निष्पादन के बीच का समय है। delay
और interval
unit
पैरामीटर के आधार पर आश्वस्त हैं, जो टाइमयूनीट हो सकता है। * (जहां * सेकंड्स, मिनट, मिलिसेन्ड्स इत्यादि) है।
तब निष्पादन आप कॉल को रोकने के लिए:
executor.shutdownNow();
और फिर आप एक अलग अंतराल के साथ अपने कार्य को फिर से जमा कर सकते हैं।
नोट: आपको अपने कार्य को पुनः सबमिट करने से पहले निष्पादक का नया उदाहरण बनाने की आवश्यकता हो सकती है, लेकिन मुझे पूरा यकीन नहीं है कि क्यों।
टाइमर से अलग कैसे है? – njzk2
यह लिंक आपको मतभेदों के बारे में थोड़ा बताता है: http://www.dremsus.com/index.php/2011/03/why-scheduledthreadpoolexecutor-for-smartfoxserver-2x/ स्टैक ओवरफ्लो पर यह प्रश्न मतभेदों को संबोधित करता है: http: //stackoverflow.com/questions/409932/java-timer-vs-executorservice – kaspermoerch
वैसे भी है कि मुझे निष्पादक को बंद करने या टाइमर बंद करने की आवश्यकता नहीं है? मैं निष्पादक या टाइमर ऑब्जेक्ट का नया उदाहरण नहीं बनाना चाहता ... – user301
- 1. जावा टाइमर कार्य शेड्यूल
- 2. स्प्रिंग टाइमर निष्पादन को कैसे रद्द करें
- 3. एंड्रॉइड काउंटरडाउन टाइमर को कैसे रोकें/रद्द करें
- 4. पुन: स्थापित। रद्द करने के बाद टाइमर "java.lang.IleglegalStateException: टाइमर रद्द कर दिया।"
- 5. टाइमर में नल पॉइंटर अपवाद फेंकना। शेड्यूल();
- 6. किसी भी मौजूदा समानांतर को कैसे रद्द करें। प्रत्येक के लिए और ताजा शुरू करें
- 7. कोड में हैंडलर को कैसे रद्द करें?
- 8. दो कार्यों को कैसे शेड्यूल करें?
- 9. संग्रहीत प्रक्रिया को कैसे शेड्यूल करें?
- 10. पायथन मोड़: कैसे शेड्यूल करें?
- 11. UIWebView को कैसे रद्द करें?
- 12. handler.post को रद्द कैसे करें?
- 13. jquery.load() को कैसे रद्द करें?
- 14. ejb 3.1 में टाइमर सेवा - शेड्यूल कॉलिंग टाइमआउट समस्या
- 15. अंतहीन ईजेबी 3 टाइमर को कैसे रोकें?
- 16. जावा में चलने वाले एकल-थ्रेडेड दोहराए जाने वाले शेड्यूल को शेड्यूल करें, लेकिन पिछली रन समाप्त नहीं होने पर मौजूदा रन को छोड़ दें
- 17. एक MySQL क्वेरी शेड्यूल कैसे करें?
- 18. स्थगित MoveFileEx ऑपरेशन को कैसे रद्द करें?
- 19. Node.js vm: Script.runInNewContext() को कैसे रद्द करें?
- 20. कार्य की निरंतरता को कैसे रद्द करें?
- 21. आईओसी फ्रेमवर्क कार्यान्वयन को कैसे रद्द करें
- 22. एसिंक्रोनस कॉल को कैसे रद्द करें?
- 23. प्रभाव: सिंक ऑपरेशन को कैसे रद्द करें?
- 24. एक AlertDialog.Builder को कैसे रद्द करें
- 25. टाइमर बनाने के लिए कैसे करें
- 26. पृष्ठभूमि कार्यकर्ता को रद्द करें
- 27. जांच रहा है कि जावा टाइमर रद्द किया गया है
- 28. जावा टाइमर
- 29. आप विंडोज वर्कफ़्लो के निष्पादन को कैसे शेड्यूल करते हैं?
- 30. jQuery ड्रॉपपेल के लिए ड्रॉप कार्रवाई को कैसे रद्द करें?
आपका क्या मतलब है "मैं पिछले शेड्यूल को रद्द नहीं कर सकता"? क्या आप नहीं जानते कि यह कैसे करें, या यह है कि यह आपके वास्तुकला में फिट नहीं है? – njzk2
मैं पिछले शेड्यूल को रद्द करना चाहता हूं और विभिन्न अंतराल के साथ नया शेड्यूल शुरू करना चाहता हूं। हालांकि, टाइमर के लिए, ऐसा करने का कोई तरीका नहीं है .. इसलिए निराशाजनक – user301
आपको वास्तव में टाइमर को रद्द करना होगा और एक – njzk2