This highly voted answer on SO regarding the differences between a Timer
and a ScheduledThreadPoolExecutor
mentions the following while enumerating the differences:
Timer can be sensitive to changes in the system clock, ScheduledThreadPoolExecutor isn't.
The above is mentioned verbatim inside the great book Java Concurrency in Practice.
I understand the points mentioned in that answer except the above mentioned one. What does it mean to say that Timers
can be sensitive to system clock whereas ScheduledThreadPoolExecutors
are not?