Timer using a thread pool