Вам нужно NSManagedObjectContext
за нить, извините!
Это не только NSFetchesResultsController, который будет обращаться к вашему контексту - coreData не будет извлекать некоторые данные, пока они не понадобятся для вашего контекста, который может быть доступен в любой точке.
Тем не менее, это только контекст, который вам нужно создать для каждого потока. Просто напишите в своем делегате метод, который создает контекст управляемого объекта, и вызовите его в каждой из ваших NSOperations - это сделает их для каждого потока вместо того, чтобы использовать один и тот же.
Управляемый контекст в вашем основном потоке также может быть создан с помощью этого метода.