मैं java.util.timerकक्षा का उपयोग कर रहा हूं और मैं कुछ कार्य करने के लिए अपनी अनुसूची पद्धति का उपयोग कर रहा हूं, लेकिन इसे 6 बार निष्पादित करने के बाद मुझे इसका कार्य रोकना होगा।
मैं कैसे करूं?
जवाबों:
कहीं टाइमर का संदर्भ रखें, और उपयोग करें:
timer.cancel();
timer.purge();
जो भी कर रहा है उसे रोकना। आप इस कोड को उस कार्य के अंदर रख सकते हैं जिसे आप अपने साथ प्रदर्शन कर रहे हैं static int, जितनी बार आप घूम चुके हैं, उतने समय की गिनती
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancelखुद ही काम करेगा।
या तो कॉल cancel()परTimer कि अगर यह सब चल रहे हैं, या है cancel()परTimerTask अगर टाइमर ही अन्य कार्य जो आप जारी रखना चाहते हैं।
आपको उस कार्य को रोकना चाहिए जिसे आपने टाइमर पर निर्धारित किया है: आपका टाइमर:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
रोकने के लिए:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
ध्यान दें कि केवल टाइमर को रद्द करने से चल रहे समय-सारणी समाप्त नहीं होंगे।