title: How does the quartz scheduler work?
body: <p>My question is : How does the quartz scheduler work and how is it different from a normal class implementing the Runnable interface (basically a thread) which wakes up according to the specified time interval and performs the required job?</p>
  
  <p>Is it just a convenient way of doing things (using the quartz scheduler) like specifying the job configuration through an XML files and easy addition of new jobs to an existing scheduler or is there something more to it? By more, I mean does it do any sort of optimizations such as it does not hang on to the thread for the entire duration and releases it? Is it a polling kind of mechanism where the thread keeps polling the system time and sees whether the specified time interval has elapsed or does it do some kind of registration with the system clock where the clock itself notifies the quartz scheduler?</p>
  
  <p>Please let me know if any further clarification is required on the question above.</p>