2015-04-23 3 views
0

Мне интересно, можно ли делать операции в пределах NSOperationQueue только одновременно с некоторыми другими. Например:Разрешить только определенные операции быть параллельными

  • Операция A - без одновременного со всеми
  • операций B - может быть одновременно с C (но не сам)
  • Операция С - может быть одновременно с B (но не сам)

Что может сформировать очереди, как показано ниже:

B   B 
A - | - B - B - | - A 
    C   C 

ли такие специфические условия параллельности возможны с NSOperationQueue?

Свойство concurrentNSOperation вводит в заблуждение, поскольку оно скорее указывает скорее на то, что операция выполняет свою задачу асинхронно (и на самом деле теперь игнорируется с 10.6).

ответ

0

Это похоже на хорошую ситуацию для использования зависимостей. С maxConcurrentOperations = 2 последнюю операцию в очереди можно проверить перед добавлением другого.

Если , сделать новую операцию зависимо от того, если новая операция является либо , В или С.

Если B, сделать новую операцию в зависимости от того, если новая операция либо B или .

Если C, сделать новую операцию в зависимости от того, если новая операция либо C или .

Смежные вопросы