Сначала я посмотрю на NSOperationQueue.
Я предполагаю, что ваша фоновая задача - это действительно маленькая задача, повторяемая снова и снова.Сделайте это в подкласс NSOperation и просто добавьте их в NSOperationQueue.Таким образом, вы можете легче управлять фоновыми задачами.
Вы также получаете преимущество с NSOperationQueue, заключающееся в том, что когда нет никаких операций для выполнения, процессор не просто застревает в цикле while (YES), ожидая,Это поможет пользовательскому интерфейсу вашего приложения быть более отзывчивым и продлить срок службы батареи:)
Однако, если ваша фоновая задача - это одиночная длительная задача, которую нужно просто запустить, а затем игнорировать, executeSelectorInBackground не так уж плохидея.