Анатомия атомарности Технологии iOS
Простота прекрасна, мы используем понятные для нас концепции, создаем на их основе свои компоненты, чтобы возводить на них грандиозные проекты. Однако, данный доклад не о простоте, нам предстоит разобраться в деталях. Этим докладом я начну демистификацию абстракций, к которым мы так привыкли, а именно о взаимоотношениях атомарности и Swift.
Apple рекомендуют синхронизацию при помощи GCD потоков, все что можно найти про многопоточность в iOS упирается в использование высокоуровневых функций GCD, доступные примитивы синхронизации импортируются из C, реализация lock free алгоритмов остается прерогативой C подобных языков на платформах Apple. Давайте раскроем тему Атомарности, избегаемую в iOS сообществе, посмотрим как это работает на самом деле и рассмотрим перспективы Swift в этом направлении.