Effective Java Rule 68: Prefer executors and tasks to threads