File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Timer vs. ScheduledExecutorService

 
Qunfeng Wang
Ranch Hand
Posts: 434
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Could you give me scenarios of which one to use? It seems both of them can execute tasks on schedule and in a separate thread.

Thanks.
 
Nitesh Kant
Bartender
Posts: 1638
IntelliJ IDE Java MySQL Database
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Louis:
It seems both of them can execute tasks on schedule and in a separate thread.


Timer uses only a single thread for the execution of all its tasks. So, if you have a task that takes a long time to process, all the subsequent tasks will be delayed.
On the other hand, you can configure the number of threads in a instance of ScheduledExecutorService. Since, the number of threads are more than one so the dependency of scheduling one task over the completion of another is reduced.

This is what the javadoc of ScheduledThreadPoolExecutor says: (this may clarify your doubt further)

This class is preferable to Timer when multiple worker threads are needed, or when the additional flexibility or capabilities of ThreadPoolExecutor (which this class extends) are required.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic