File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Threads and Synchronization and the fly likes Canceling a TimerTask Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Canceling a TimerTask" Watch "Canceling a TimerTask" New topic

Canceling a TimerTask

Jean-Michel Vilain

Joined: Aug 06, 2010
Posts: 27

Hi ranch people!
I'm into server side multithreading and I'm finding it puzzlingly amusing.
I create a Timer and use it to schedule a TimerTask via schedule(TimerTask t, int delay), i.e. this TimerTask is meant to trigger once at most.
In the case where the TimerTask gets canceled, is this safe not keeping a reference to the Timer? Because I won't be able to call stop or anything on it when the TimerTask gets canceled.
Thoughts or suggestions welcome!

Designer and developer on Faƫria: Strategy Card Game ( The server is 100% Java.
@Jiem_ on Twitter (
Paul Clapham

Joined: Oct 14, 2005
Posts: 19973

The procedure to cancel a TimerTask seems pretty simple to me: you call its cancel() method. You can read the API documentation and confirm that for yourself. So I don't understand the rest of your question.
Chris Hurst
Ranch Hand

Joined: Oct 26, 2003
Posts: 443

It's safe as the timer lives on until actually removed by the scheduler (happens automatically) when cancelled so if your not worried about performance your fine . Cancelled timers can seriously mess with GC performance (consider purge), though only worry about this if your writing serious server apps and use timers a lot.

"Eagles may soar but weasels don't get sucked into jet engines" SCJP 1.6, SCWCD 1.4, SCJD 1.5,SCBCD 5
I agree. Here's the link:
subject: Canceling a TimerTask
It's not a secret anymore!