При работе с многопоточностью перед вами всегда будут вставать вопросы: по какому принципу нужно переключаться между задачами и в каком порядке они должны выполняться? В этой статье мы поговорим о шести проблемах многопоточности: Race condition, Priority inversion, Deadlock, Livelock, Starvation и Data Race. Race condition (Состояние гонки) Итак, проблема Состояние гонки — ситуация, возникающая, когда … Продолжить чтение «Проблемы многопоточности в Swift»
NSOperation или Grand Central Dispatch
Распространенный вопрос на собеседованиях: чем отличается NSOperation от GCD? Когда использовать GCD, а когда NSOperation? Начнем с определений: GCD — это низкоуровневый API на основе C, который напрямую взаимодействует с уровнем Unix системы. NSOperation и NSOperationQueue являются классами Objective-C. NSOperation — оболочка GCD. Если вы используете NSOperation, то вы неявно используете Grand Central Dispatch. Преимущество GCD Преимущества NSOperation Когда использовать GCD … Продолжить чтение «NSOperation или Grand Central Dispatch»