Я новичок в GCD, поэтому, надеюсь, у меня есть правильная идея, но мне нужен совет....
У меня есть приложение, которое должно выполнять некоторую обработку рендеринга в фоновом режиме для поддержания производительности. Итак, я использую следующий код.... ('ish)
dispatch_queue_t renderQueue = dispatch_queue_create("myLongRunningProcess", NULL);
dispatch_async(renderQueue, ^{
/* Perform several long running rendering processes which could */
/* take 2-3 seconds in total */
});
Поскольку это длительный процесс, состоящий из нескольких операций, может потребоваться повторный перезапуск процесса рендеринга путем взаимодействия с пользователем в основном потоке.
Итак, как я могу сигнализировать этому процессу о перезапуске или, альтернативно, формировать какую-то очередь и механизм флагов, которые могут привести к прерыванию этого процесса и разрешить перезапуск рендеринга.
Помощь и советы приветствуются.