title: Advice needed for multi-threading strategy for WPF application
body: <p>I'm building a single window WPF application
  In the window is a list items (which are persisted in a database of course)
  Periodically I need to start a background task that updates the database from an Atom feed. As each new item is added to the database, the list in the UI must also update to reflect this. I don't want this background task to slow down the UI but at the same time it needs to interact with the UI.</p>
  
  <p>Having read loads of articles and seen lots of simple examples, I am still unsure of the best way to implement this.</p>
  
  <p>What I think maybe I could do is:</p>
  
  <p>On the Window_Loaded event, create a DispatchTimer.
  When the Tick event fires, call UpdateDb() method.
  UpdateDB() will get the items from the Atom feed and add to the database. As I iterate through each item I will call another method to rebind the list to the database so that it "refreshes".
  When all the tasks are finished reset the DispatchTimer ??? (not sure if this can / needs to be / done).</p>
  
  <p>Remember, this is background task so a user could be using the UI at the same time.</p>
  
  <p>How does this sound?</p>
  
  <p>Thanks.</p>