Про многопоточность 3. Operation

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Добро пожаловать! Если вы уже читали предыдущие статьи из этой серии, то наверняка знакомы с многопоточностью в iOS. Мы освоили концепции потоков (Thread/pthread) и научились управлять синхронной и асинхронной обработкой задач в очередях с помощью фреймворка Dispatch. Однако на этом инструменты обеспечения многопоточности не заканчиваются. В этой части мы погрузимся в мир операций, изучим их особенности и поймем, в каких случаях целесообразно прибегать к классу Operation, а когда достаточно функциональности, предоставляемой GCD.

  1. Про многопоточность 1. Thread

  2. Про многопоточность 2. GCD

  3. Про многопоточность 3. Operation

  4. Про многопоточность 4. Async/await (coming soon)

  5. Про многопоточность 5. Железяки (coming soon)

Содержание

  1. Вступление

  2. Operation

  3. BlockOperation

  4. OperationQueue

  5. Operation vs GCD

  6. Заключение

Вступление

Operation — это один из наиболее высокоуровневых инструментов для работы с многопоточностью в iOS. Это мощное API, входящее в состав фреймворка Foundation. По сравнению с GCD, Operation предоставляет более гибкие и настраиваемые средства управления потоками выполнения. Однако для оптимального использования этого инструмента необходимо понимание его особенностей и принципов работы. Давайте в этой статье ближе познакомимся с Operation и рассмотрим, в каких случаях его применение может оказаться наиболее полезным, а также какие преимущества и нюансы он имеет по сравнению с уже изученными нами методами.

Operation

Operation - это мощный инструмент для управления многопоточностью, предоставляемый фреймворком Foundation. Суть Operation заключается в абстракции задачи, которую необходимо выполнить. Он предоставляет не только удобный способ управления жизненным циклом задачи, но и доступ к её состоянию.

Как абстрактный класс, Operation не применяется напрямую, а используется путем создания собственных подклассов операций или использования предоставленных фреймворком Foundation подклассов, таких как BlockOperation (или objc реалзиация NSInvocationOperation).

Источник: https://habr.com/ru/articles/755762/


Интересные статьи

Интересные статьи

В предыдущей части мы научились эффективно передавать данные вспомогательным потокам из основного через разделяемую память, используя Atomics-операции и блокировки.Но мы рассматривали все-та...
Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.Цель и вебинара и статьи - дать начинающим представление о тех понятиях, которые вын...
Приглашаем вас в эту пятницу (27 ноября) принять участие в вебинаре, на котором представители Broadcom в России презентуют новую зонтичную систему мониторинга Digital Operational Inte...
Привет, Хабр! В нашем Tinkoff Security Operation Center мы регулярно занимаемся разбором техник, применяемых во вредоносном ПО и атаках, и недавно нам попался один интересный файл,...
Публикую на Хабр оригинал статьи, перевод которой размещен в корпоративном блоге. Необходимость делать что-то асинхронно, не дожидаясь результат здесь и сейчас, или разделять большую работу ме...