Andrew Morrow: Multi-Threaded CoreData Done Right
"My session will cover the fundamental concepts and demonstrate practical applications of multi-threaded CoreData usage. Starting from a demo application using a single managed object context, I will demonstrate the problems inherent in the design. First, a second context will be added, then a second persistent store coordinator, then we will switch SQLite into WAL mode, and so forth until we arrive at a fully concurrent and fault-tolerant CoreData stack.
Along the way, I will go into depth on understanding internal CoreData behavior in a multi-threaded environment, including locking behavior of contexts and persistent store coordinators, SQLite journaling modes, merging contexts which live in separate store coordinators, contexts as transactions, and so forth.
I would recommend my talk for people who already understand the basics of CoreData (stores, contexts, and managed objects) and Grand Central Dispatch (queues vs. threads, blocks, and serial vs. concurrent queues)."