Adres Defteri belgelerinden ve temel CoreData uygulamasının anlaşılmasından duyumlarım, Adres Defterinin iş parçacığı için güvenli olması gerektiğini ve birden çok ileti dizisinden sorgular yapmanın sorun çıkarmaması gerektiğini önerir. Ancak, dokümanlarda iş güvenliği konusunda açık bir tartışma bulmakta zorlanıyorum. Bu, birkaç soru ortaya çıkarır:Adres Defteri iş parçacığı güvenliği ve performans
- Salt okunur erişim için birden çok iş parçacığında + sharedAddressBook'u kullanmak güvenli midir? Cevabın evet olduğuna inanıyorum.
- Arka plandaki konulara yazma erişimi için bunun yerine + addressBook kullanmanız gerekir (ve değişikliklerinizi el ile kaydedin). Bunu doğru anlıyor muyum?
- Birden çok iş parçacığı üzerinde birden çok eşzamanlı sorgunun Adres Defterini yapmasının performans etkisini kimsenin araştırdığı var mı? Bu, çoklu iş parçacıklarında birden çok CoreData sorgusu yapma performansına çok benzer olmalıdır. Benim mantığım, SQLLite'i vurduklarında serileşeceklerini varsaydığımdan beri paralel sorgulamalar yaparak çok az kazanacağım, ama burada emin değilim.
Adres Defterine karşı düzinelerce sorgu (bazı karmaşık) yapmalıyım ve UI'yi (şu anda var olan) engellememek için NSOperation kullanarak arka plan iş parçacığı üzerinde yapıyorum. Benim temel sorusu, maksimum eşzamanlı işlemleri 1'den büyük bir değere ayarlamanın mantıklı olup olmadığı ve eğer uygulama başka bir iş parçacığı üzerinde aynı anda Adres Defterine de yazıyorsa, herhangi bir tehlike olup olmadığıdır.
Şu anda Adres Defteri Çerçevesi'nin (her zaman böyle olmamıştı) Çekirdek Verileri kullanması, göz ardı etmeniz gereken bir uygulama ayrıntısıdır ve iş parçacığı güvenliğini garanti etmemektedir. Adres Defteri API'sinin iş parçacığı güvenli olduğunu belirten belgelere bir bağlantı sağlayabilir misiniz? Dokümanlarda belirtilen iş parçacığı politikasını bulamadım. –
Ben de bulamıyorum. İlk paragrafta yaptığım nokta buydu. Herhangi bir dokümanda AB ile iş parçacığı hakkında açık bir tartışma bulamıyorum. Ancak, iş parçacığının güvenli olmadığı varsayımı, gerekli olmayan (ve düzgün bir şekilde nasıl uygulanacağına dair belgeyi bulamıyorum) kapsamlı bir karmaşıklık yaratır ve böylece soruyu ortaya çıkarır. –
Bir alt kümesi, ya da bunun bir alt kümesi, iş parçacığı olduğu için kötümser olmanız ve olmadığını varsayınız. –