Chapter 11. Task Scheduling
In the previous chapter, we examined an interesting aspect of
threads. Before we used a thread pool, we were concerned with
creating, controlling, and communicating between threads. With a
thread pool, we were concerned with the task that we wanted to
execute. Using an executor allowed us to focus on our
program's logic instead of writing a lot of
thread-related code.
In this chapter, we examine this idea in another context. Task
schedulers give us the opportunity to execute particular tasks at a
fixed point in time in the future (or, more correctly, after a fixed
point in time in the future). They also allow us to set up repeated
execution of tasks. Once again, they free us from many of the
low-level details of thread programming: we create a task, hand it
off to a task scheduler, and don't worry about the
rest.
Java provides different kinds of task schedulers. Timer classes
execute tasks (perhaps repeatedly) at a point in the future. These
classes provide a basic task scheduling feature. J2SE 5.0 has a new,
more flexible task scheduler that can be used to handle many tasks
more effectively than the timer classes. In this chapter,
we'll look into all of these classes.
|