title: ScheduledThreadPoolExecutor - single task/thread running often or multiple threads running less often
body: <p>I'm trying to set up a job that will run every x minutes/seconds/milliseconds/whatever and poll an Amazon SQS queue for messages to process. My question is what the best approach would be for this. Should I create a ScheduledThreadPoolExecutor with x number of threads and schedule a single task with scheduleAtFixedRate method and just run it very often (like 10 ms) so that multiple threads will be used when needed, or, as I am proposing to colleagues, create a ScheduledThreadPoolExecutor with x number of threads and then create multiple scheduled tasks at slightly offset intervals but running less often. This to me sounds like how the STPE was meant to be used. </p>
  
  <p>Typically I use Spring/Quartz for this type of thing but that's out of at this point. </p>
  
  <p>So what are your thoughts? </p>