i have implemented timertask in java , need stop thread after period of time:
.... timer = new timer(); // @ line new thread created timertask timertask = new timertask() { int tweetcounter = 0; string message; @override public void run() { try { while ((message = reader.readline()) != null && (tweetcounter < 100)) { bucket.add(message); tweetcounter++; out.println("number of messages: " + tweetcounter); out.println("nano time: " + system.nanotime()); } } catch (ioexception e) { e.printstacktrace(); } } }; timer.schedule(timertask, 30000); ...... at point try :
timertask.cancel(); timer.cancel(); timer.purge(); after nothing happens , program never exits. how can stop timertask thread?
timer.cancel(); timer.purge(); will work .
int java.util.timer.purge()removes canceled tasks task queue. if there no other references on tasks, after call free garbage collected.
returns: number of canceled tasks removed task queue.
Comments
Post a Comment