Описание тега grand-central-dispatch

Grand Central Dispatch (GCD) provides a simple and robust mechanism for concurrent and asynchronous operations, primarily in Apple operating systems (e.g., iOS, macOS, watchOS, and tvOS), but also FreeBSD and MidnightBSD.
1 ответ

Насмешливые ожидания и Grand Central Dispatch

У меня есть простой объект менеджера, и, используя mocks в киви, я хочу проверить, когда я звоню [aPOIManager fetchNear:location] это вызывает downloadPOIsNear:completionBlock: на его загрузчик. Все работало нормально, пока я не решил отправить вызо…
19 май '13 в 14:05
2 ответа

dispatch_queue_t - это последовательная очередь, тогда почему она вообще существует в многозадачной концепции?

Я новичок в разработке для iPhone и прохожу концепцию GCD для многопоточности. 'dispatch_queue_t' создает последовательную очередь, и я прочитал, что последовательная очередь будет выполнять только одно задание за раз. GCD предназначен для одновреме…
3 ответа

Загрузка изображений последовательно в последовательную очередь очень медленная

Требование - у меня есть требование, по которому я получаю словарь JSON, из которого я получаю массив изображений и текст контента. Затем я должен отобразить все изображения с соответствующим содержанием в виде коллекции. Обновление - Прежде всего м…
28 апр '16 в 07:34
2 ответа

Создать фоновый поток, который выполняет команду каждые 4 часа

Я пытаюсь выяснить, как использовать фоновый поток для выполнения команды когда-либо 4 часа. Я никогда не создавал ничего подобного раньше, поэтому пока только читал об этом. Одна из вещей, которые я прочитал, это "Потоки связывают физическую память…
2 ответа

Очередь 2 фоновых процессов

Мне нужно создать очередь из 2 фоновых процессов, которые будут работать синхронно. Я пытаюсь с этим кодом, но не получить его. Где моя ошибка? dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //block1 dispatch_async(d…
1 ответ

Проблемы, связанные с вызовом методов UIKit из неосновного потока

Я реализовал метод входа в систему таким образом: [KVNProgress show]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //some error handling like: if ([_usernameField.text length] < 4) { [KVNProgress showErrorWithS…
6 ответов

Основные данные и потоки / Grand Central Dispatch

Я новичок в Grand Central Dispatch (GCD) и Core Data, и мне нужна ваша помощь для использования Core Data с CGD, чтобы пользовательский интерфейс не блокировался, пока я добавляю 40 000 записей в Core Data. Я знаю, что CD не является потокобезопасны…
1 ответ

NSMangagedObjectContext получает преобразованный в String со значением пути к БД

У меня есть приложение, которое использует dispatch_queue_t и прекрасно работает для большинства пользователей в разных сочетаниях ОС и устройств. У меня есть много потоков, которые продолжают работать и имеют dispatch_queue_t для получения определе…
3 ответа

Означает ли использование dispatch_get_main_queue(), что мой код будет в основном потоке?

Работает ли следующий код в основном потоке? "Основная очередь" относится к основному потоку? dispatch_async(dispatch_get_main_queue(), ^{ // Some code });
2 ответа

Последовательная очередь группы отправки

Я пытаюсь понять, каким будет правильный способ создания Serial Dispatch Group для фоновых многопоточных задач. Пример: У меня есть видео, которое я хочу разделить на 5 частей. Так что в теории это будет цикл очереди: Бежать AVAssetExportSession в ф…
18 фев '18 в 10:01
1 ответ

@sychronized альтернатива в методе класса

Я хочу иметь метод, который будет либо создавать новый объект, либо возвращать существующий на основе строки идентификатора. Вот что у меня есть: @implementation MyObject { } @synthesize data = _data; - (instancetype)init { self = [super init]; if (…
29 июл '14 в 17:32
1 ответ

Проблема с использованием dispatch_async, не может запустить два вызова функций на одном контроллере?

У меня есть следующий метод в моем AppDelegate. Я не могу найти способ обновить метку на updateView и выполнить загрузку через ASIHTTPRequest. В приведенном ниже коде он выполнит загрузку (startUpload), но не обновит метку (updateLabel). Если я зако…
12 сен '11 в 14:48
2 ответа

DISPATCH_SOURCE_TYPE_TIMER не стреляет

Я создаю таймер в глобальной очереди, настроенный на 45 секунд с момента создания, но по какой-то причине он вообще не срабатывает. Изменение его на огонь теперь тоже ничего не делает. В остальных приложениях многое происходит, поэтому, возможно, чт…
21 янв '11 в 01:13
1 ответ

Мониторинг файлов GCD - изменения родительских папок?

Я использую метод мониторинга файлов GCD на предмет изменений. Кажется, работает нормально, и я получаю уведомления для записи файлов, удаления, переименования и т. Д. У меня вопрос - как правильно подходить к изменениям в родительских папках для от…
27 июл '17 в 21:13
1 ответ

Сбой: com.apple.root.default-qos

У меня есть довольно простое приложение, которое анализирует RSS-канал и показывает его содержимое в виде таблицы. Это доступно в App Store. У меня есть интегрированные отчеты о сбоях Crashlytics. Недавно я получил два сообщения. Это немного сложно …
1 ответ

MBProgressHUD Сокрытие индикатора после GCD

Пользователь может нажать кнопку, чтобы загрузить набор карт, по завершении этой задачи я хотел бы скрыть индикатор прогресса. Я пробовал несколько вариантов кода ниже, но не достиг того, что я ищу. Любое руководство будет оценено. - (IBAction)SaveP…
2 ответа

Изменить вид внутри UICollectionViewCell, когда нажата не работает

У меня есть список аватаров пользователей внутри UICollectionViewCell. Когда пользователь нажимает на один, я хотел бы добавить выбранный элемент в коллекцию, а также выделить его, чтобы указать, что он был выбран. К сожалению, пользовательский инте…
3 ответа

C++11 Потокобезопасность генераторов случайных чисел

В C++11 есть несколько новых движков генератора случайных чисел и функций распределения. Они потокобезопасны? Если вы разделяете одно случайное распределение и механизм среди нескольких потоков, безопасно ли это, и вы все равно будете получать случа…
1 ответ

Objective-C: конвертировать executeSelector в Grand Central Dispatch

У меня есть некоторый код, который я получил из книги, которая использует executeSelectorOnMainThread. Я обнаружил, что в некоторых случаях приложение зависает и хочу изменить его на фоновый поток с помощью GCD: Это мой код: [self performSelectorOnM…
05 апр '16 в 23:36
2 ответа

Используя Grand Central Dispatch, как я могу проверить, есть ли уже запущенный блок?

Я использую GCD, чтобы сделать некоторую фоновую загрузку из Интернета. Это прекрасно работает, за исключением небольшого недостатка. В моем приложении есть 3 вкладки, и при нажатии на любую вкладку GCD начинает выполнять фоновую загрузку для соотве…
14 июл '11 в 14:04