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