Я не думаю, что есть универсальный ответ на это. Мое предложение состоит в том, чтобы разделить задачи (в форме NSOperations и / или блоков) по их функциям и отношениям между ними.
Пример: вы не хотите добавлять операцию изменения размера изображения в одну и ту же очередь с получением некоторого несвязанного канала из сети, особенно если между ними нет никакой связи. Или, может быть, вы делаете, потому что оба требуют большого количества памяти и из-за этого не могут работать параллельно.
Но вы, вероятно, захотите добавить операции поиска веб-изображений в ту же очередь, отменяя операции того же типа, добавленные в эту очередь ранее. Каждая из этих операций поиска изображений может инициировать операцию изменения размера изображения и помещать ее в какую-то другую очередь. Теперь у вас есть отношения, и вам нужно отменить изменение размера в дополнение к операции поиска изображений. Что если операция поиска изображения занимает больше времени, чем связанная операция изменения размера? Как вы храните ссылку на это или знаете, когда это сделано?
Да, это легко усложняется, и извините, если я не дал вам никаких конкретных ответов из-за уникальности каждой ситуации, но, в конце концов, заставить их работать как швейцарские часы, очень приятно:)