title: Why should I create the context in main for a serial queue and in start for a concurrent queue?
body: <p>There is topic about <em>Thread Confinement pattern</em> in  <a href="http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/coredata/Articles/cdConcurrency.html#//apple_ref/doc/uid/TP40003385-SW1" rel="nofollow noreferrer">Core Data programming Guide</a> and it says that</p>
  
  <blockquote>
    <p>You must create the managed context on the thread on which is will be used. If you use NSOperation, note that its init method is invoked on the same thread as the caller. You must not, therefore, create a managed object context for the queue in the queue’s init method, otherwise it is associated with the caller’s thread. <strong>Instead, you should create the context in main (for a serial queue) or start (for a concurrent queue)</strong>.</p>
  </blockquote>
  
  <p>I just can't get <em>why</em> is that? Where is the difference?</p>