title: What is the best approach to schedule events?
body: <p>I have an application in which the user is able to create different notifications, like sticky notes and set their starting times. When he presses the start button a timer starts and these reminders should pop up at the time they were set for. I've searched for other answers, like <a href="https://stackoverflow.com/questions/479376/wpf-net-best-way-to-trigger-an-event-every-minute">this one</a>, but the problem here is the notifications' times are different.</p>
  <p>So what is the best way to schedule the events that activate the notifications?
  I can think of two possible ways with their <strong>Pros</strong> and <strong>Cons</strong>:</p>
  <ol>
  <li><p>Run a <code>DispatcherTimer</code>, that ticks every second and checks whether the time for a notification has come and pop it up. <strong>Pros:</strong> single <code>DispatcherTimer</code> instance. <strong>Cons:</strong> ticking every second and checking all notifications is an overhead.</p>
  </li>
  <li><p>Create a <code>DispatcherTimer</code> for each notification and let them handle time themselves. <strong>Pros:</strong> every timer ticks just once to pop the notification. <strong>Cons:</strong> too many timers is an overhead and may be hard to control.</p>
  </li>
  </ol>
  <p>Am I on the right track? Which of the two approaches is better, resource wise? Is there a third better way I am overlooking?</p>
  <p>EDIT: If it makes any difference, the notifications should also auto close after some user-defined time and repeat at regular user-defined intervals.</p>