Мне нужно гарантировать, что тот же поток выполняет различные действия в произвольные моменты времени. Сначала поток должен инициализировать библиотеку, затем я хочу, чтобы поток спал до тех пор, пока работа не будет выполнена, и при вводе пользователя мне нужно будет передать селектор или блоки для выполнения.
Как настроить NSRunLoop для сна после инициализации? После чего, как я могу сигнализировать прогон цикла, чтобы проснуться и что-то сделать?
Я пробовал читать руководство по программированию Threading для iOS, но я бы хотел не создавать классы в качестве пользовательских классов ввода и использовать что-то более легкое, например performSelector:onThread:
Могу ли я установить таймер на огонь навсегда, так что цикл выполнения не заканчивается?
Здесь по существу то, что я хочу в псевдокоде:
// Initialization Code...
do {
sleepUntilSignaled();
doWorkSentToThisThread();
while (!done);
Где я отправляю работу, чтобы сделать это как сообщение performSelector:onThread:
. Было бы даже лучше, если бы я мог отправить цикл цикла блоку вроде: ^{[someObj message]; [otherObj otherMsg];}
, но я был бы доволен performSelector
, так как я уверен, что это возможно без особого дополнительного кодирования.
Спасибо!