Задача C - выполнитьВыбратьВеретьБак В.С. detachNewThreadSelector? - PullRequest
2 голосов
/ 01 марта 2011

Оба detachNewThreadSelector и executeSelectorInBackground используются для вызова метода в фоновом режиме.

Есть ли разница между двумя методами?или они оба работают одинаково?

1 Ответ

4 голосов
/ 01 марта 2011

Они, по сути, одинаковые, но немного разные парадигмы. За кулисами они делают то же самое. Единственное реальное отличие состоит в том, что -[performSelectorInBackground:withObject:] следует за всеми другими методами стиля executeSelector в том смысле, что они определены в NSObject, и вы фактически получаете сообщение, которое определяет селектор, который вы хотите выполнить.

В общем, вы почти никогда не должны вызывать ни один из этих методов. Избегайте использования Grand Central Dispatch или NSOperation и NSOperationQueue, чтобы выделить дорогостоящие операции в других потоках. И классы GCD, и классы NSOperation предоставляют вам управление памятью, управление пулом потоков и многое другое, что вы пропустите, используя методы диспетчеризации старого стиля.

...