में निर्धारित कार्य को तुरंत कैसे रोकें मैंने सब कुछ करने की कोशिश की।Java.util.Timer क्लास
मैं इस तरह टाइमर अनुसूची:
टाइमर यह एक बहुत How to stop the task scheduled in Java.util.Timer class
मैं एक काम है कि java.util.TimerTask
लागू करता है मैं 2 तरीकों से उस कार्य को फोन किया है। अनुसूची (टाइमरटास्क, 60 * 1000);
कभी कभी मुझे लगता है कि काम की जरूरत तुरंत शुरू करने के लिए और यह timerTask रद्द करने के लिए अगर वहाँ किसी भी है कि
काम करcancelCurrentWork() है; timer.schedule (टाइमर टास्क, 0);
इस कार्यान्वयन वर्तमान काम करना बंद नहीं करता है: (प्रलेखन कहते हैं: अगर काम जब इस कॉल होता चल रहा है, कार्य पूरा होने से चलाया जाएगा, लेकिन फिर कभी नहीं चलेंगे)
लेकिन मैं इसे रोकने की जरूरत है।
public static void cancelCurrentwork() {
if (timerTask!= null) {
timerTask.cancel();
}
}
इस कार्यान्वयन सिर्फ टाइमर रद्द, लेकिन वर्तमान में कार्य कर रही है पत्ते अनुरूप तैयार किया जाए।
public static void cancelCurrentwork() {
if (timer!= null) {
timer.cancel();
}
}
वहाँ टाइमर में एक तरह से वर्तमान क्रियान्वित taks रोकने के Thread.kill() या कुछ और की तरह कुछ है? जब मुझे रोकने के लिए उस कार्य की आवश्यकता होती है तो मैं इसे अपने सभी डेटा को खोना चाहता हूं।
और कार्य के अंदर से काम को कैसे रोकें? मैं बुलियन के साथ जांच सकता था, लेकिन फिर मुझे किस विधि को कॉल करना चाहिए? this.cancel()? – vale4674
और अन्य प्रश्न: क्या कोई एपीआई जैसे ScheduledExecutorService या ऐसा कुछ आपको कार्य रोकने की अनुमति देता है? – vale4674
नहीं, आप बस 'रन' विधि से वापस आते हैं। – aioobe