Core Data isn’t thread safe and Apple recommends to use multiple contexts instead to handle concurrency. However Apple seems to have forgotten that on Mac OS X, there are hooks like the undo manager that can cause havoc in multi-threaded Core Data applications, even each thread having its own context.
