вы можете смоделировать его с помощью NSOperationQueue
, а затем просто установить количество задач на единицу.
РЕДАКТИРОВАТЬ
- упс, следовало бы прочитать более внимательно.решение fifo следующее:
Я не могу придумать, каким образом большинство разработчиков ios будут использовать в вашей ситуации.
Я не боюсь писать многопоточные программы, поэтому вотодно решение:
- создать рабочую очередь fifo, которая:
- содержит одно NSOperationQueue
- содержит подкласс NSOperation, предназначенный для выведения рабочих из очереди fifo при реализации
main
.только один может существовать за один раз.
- содержит NSArray рабочих для запуска (определение работника зависит от вас - это NSInvocation, класс,операция, ...)
подкласс NSOperation вытягивает рабочих из рабочей очереди fifo до тех пор, пока рабочая очередь fifo не будет исчерпана.
когда работа fifoВ очереди есть рабочие и нет активных дочерних операций, она создает дочернюю операцию, добавляет ее в свою очередь операций.
Есть несколько ловушек, если вам неудобно писать многопоточные программы - по этой причине это решениене идеален для всех, но это решение не займет много времени, если вы уже освоите все необходимые технологии.
удачи