Разница между операциями & amp; темы в какао

StackOverflow https://stackoverflow.com/questions/1029336

  •  06-07-2019
  •  | 
  •  

Вопрос

Я изучаю Objective-C, я буду разрабатывать приложение для обработки видео.

Я читаю руководство разработчика по apple и наткнулся на объекты Operation. Мне просто нужно уточнить, в чем разница между операциями и темы, недостатки, преимущества, варианты использования.

Из того, что я прочитал, работа - это более высокий уровень управления процессом приложения / задачей. NSOperationQueue может обрабатывать операционные ресурсы и параллелизм.

Чего я не понимаю, так это того, что Операция может быть запущена напрямую в потоке, я не совсем понимаю эту концепцию. Я не проясняю разницу между операциями и разработками потоки.

Пожалуйста, предоставьте мне как можно больше информации / информации о них.

Большое спасибо всем.

Это было полезно?

Решение

Разница между NSOperation и потоками заключается в абстракции. Поток - это низкоуровневая (на уровне операционной системы) конструкция, с помощью которой можно выполнить несколько «потоков». кода одновременно. Хотя Cocoa предоставляет API-интерфейс NSThread , он, по сути, является оберткой для API-интерфейса pthread . NSOperation - это высокоуровневая абстракция задачи, которую вы хотите выполнить. NSOperationQueue будет планировать выполнение очереди NSOperations , чтобы максимально использовать доступные ЦП. В многоядерной системе несколько NSOperations будут выполняться одновременно с использованием пула потоков, которые поддерживает NSOperationQueue . Преимущество использования этого высокоуровневого API заключается в том, что он позволяет вам думать о «операциях». Вы хотите выполнять, а не как планировать их. Недостаток (и, следовательно, преимущество непосредственного использования NSThread ) заключается в том, что вы имеете больший контроль над планированием потока и связью между потоком и другими потоками (см. - [NSObject executeSelector: withObject) : onThread:] ). Для элементарных задач, таких как обработка видео, NSOperation , вероятно, лучше всего подходит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top