performBlock : 및 PerformBlockAndWait : 에 대한 문서를 작성하는 데 혼란 스럽습니다. performBlock은 async이고 withWait :는 수신자의 대기열에 동기화되어 있습니다. "수신자"가 NSManagedObjectContext를 참조합니까? 컨텍스트가 개인 유형이므로 컨텍스트가 주 유형이고 블록이 주 스레드에서 실행되는 경우 블록이 백그라운드 스레드에서 실행됩니까? 많은 감사NSManagedObjectContext performBlock thread
답변
정확히. 문서를 올바르게 이해했습니다.
"수신자"는 기존 컨텍스트를 나타내므로이 컨텍스트가 백그라운드 컨텍스트 인 경우 주 스레드 인 경우 주 스레드 인 경우 백그라운드 스레드에서 블록이 실행됩니다.
두 가지 방법 모두 컨텍스트 대기열 (개인 대기열 컨텍스트의 경우 백그라운드 스레드에서)에서 차단을 수행합니다. 그러나 performBlockAndWait:
메서드는 블록이 백그라운드 스레드에서 실행을 완료 할 때까지 호출 스레드를 차단합니다.
performBlock은 dispatch_asyn을 좋아하고 performBlockAndWait는 dispatch_syn을 좋아하며 대기열은 개인 유형 (백그라운드 대기열), 기본 유형 컨텍스트 (주 스레드 대기열)에 따라 다릅니다. 덕분에 –
그래, 그게 본질적으로 어떻게 작동하는지. 확실한! –
많은 분들께 감사드립니다 ~ –
- 1. NSManagedObjectContext performBlock 및 dispatch_group_t
- 2. NSManagedObjectContext 취소 performBlock
- 3. dispatch_async dispatch_get_main_queue() dispatch_get_main_queue() inside NSManagedObjectContext performBlock
- 4. 중첩 NSManagedObjectContext 저장하고 objectID에
- 5. NSPrivateQueueConcurrencyType을 사용하여 NSManagedObjectContext 저장
- 6. performBlock 내에 할당 된 경우 NSManagedObjectContext가 없음
- 7. NSManagedObjectContext
- 8. NSManagedObjectContext 다른 NSManagedObjectContext 삽입하는 방법?
- 9. "performBlock"메서드는 언제 사용해야합니까?
- 10. performBlock 취소 방법 :
- 11. 자식/부모 NSManagedObjectContext 사용할 때 이상한 동작
- 12. NSManagedObjectContext 제대로
- 13. NSManagedObjectContext 얻기
- 14. NSManagedObjectContext 동시성
- 15. 'NSObjectInaccessibleException'는 NSManagedObjectContext '
- 16. NSManagedObjectContext confusion
- 17. NSManagedObjectContext 범주
- 18. NSManagedObjectContext 잠김
- 19. 코어 데이터 설정 NSManagedObjectContext 스레드 우선 순위
- 20. 개인 큐 NSManagedObjectContext 무한 루프에 저장 끝
- 21. Boost.Thread 또는 thread :: thread?
- 22. CoreData 및 NSManagedObjectContext
- 23. NSManagedObjectContext - 교착 상태의 원인이되는 하위 컨텍스트
- 24. NSPrivateQueueConcurrencyType 컨텍스트는 performBlock 내에서만 작동 할 수 있습니까?
- 25. NSManagedObjectContext 객체를 반복할까요?
- 26. 다른 프로세스가있는 NSManagedObjectContext
- 27. AppDelegate의 다중 NSManagedObjectContext
- 28. NSManagedObjectContext 및 대기열
- 29. NSManagedObjectContext 백그라운드에서 작동
- 30. NSManagedObjectContext autorelease 문제
덕분에 ~ –