Вопросы по теме 'grand-central-dispatch'

Имеют ли pthreads какие-либо преимущества перед GCD?
Недавно изучив Grand Central Dispatch, я обнаружил, что многопоточный код довольно интуитивно понятен (с GCD). Мне нравится тот факт, что никаких блокировок не требуется (и тот факт, что он использует внутренние структуры данных без блокировки) и что...
7096 просмотров

Стратегия Grand Central для открытия нескольких файлов
У меня есть рабочая реализация с использованием очередей отправки Grand Central, которая (1) открывает файл и вычисляет хэш OpenSSL DSA в «очереди1», (2) записывает хэш в новый файл «боковой машины» для последующей проверки в «очереди2». . Я хотел...
2333 просмотров

__blocks и размещение объектов в dispatch_sync
Я хотел бы вернуть массив, содержимое которого было установлено во время блока dispatch_sync. Код, который я обычно видел, выглядит примерно так: -(NSArray *)getSomeLockedList { __block NSArray *resultList; dispatch_sync(myQueue, ^{...
1095 просмотров

iPhone: использование dispatch_after для имитации NSTimer
Не очень разбираюсь в блоках. Как бы вы подражали повторяющемуся NSTimer с dispatch_after() ? Моя проблема в том, что я хочу «приостановить» таймер, когда приложение переходит в фоновый режим, но подкласс NSTimer , похоже, не работает. Я...
9118 просмотров

iPhone - GCD проверяет, приостановлена ​​ли очередь
Я должен использовать dispatch_resume(...); для возобновления отправки, которая была приостановлена, но поскольку метод, возобновляющий отправку, может вызываться несколькими частями приложения, мне нужно знать, приостановлена ​​ли отправка, прежде...
3135 просмотров
schedule 04.05.2023

Применение эффекта к видео предварительного просмотра с камеры iPhone
Моя цель — написать собственный контроллер просмотра камеры, который: Можно делать фотографии во всех четырех ориентациях интерфейса как на заднюю, так и на переднюю камеру, если она доступна. Правильно поворачивает и масштабирует превью...
6810 просмотров

В какой очереди GCD, основной или нет, я работаю?
Я пытаюсь написать некоторые потокобезопасные методы, поэтому я использую: ... dispatch_queue_t main = dispatch_get_main_queue(); dispatch_sync(main,^{ [self doSomethingInTheForeground]; }); ... Но если я нахожусь в основном потоке, в этом...
8311 просмотров

GCD получение имени/метки очереди
Как я могу получить текущее имя очереди? Я имею в виду метку очереди, например com.example.myqueue . В отладчике Xcode 4 я вижу только _block_invoke_1 .
4363 просмотров

iPhone - отмена операций в очереди GCD
У меня есть несколько задач, которые отправляются в последовательные очереди, и особенно некоторые, которые отправляются в группу. После отправки этих задач я хотел бы дать пользователю возможность отменить их, даже если они уже выполняются. Я не...
1948 просмотров
schedule 17.01.2024

Блоки и потокобезопасность ViewController
Я рассматривал пример кода Game Center, GKTapper , и один раздел, где разработчик комментирует свою реализацию, не имеет для меня особого смысла. Код вставлен ниже. Чего я не понимаю, так это почему отправка блока, который изменяет контроллер...
1839 просмотров

NSManagedObjectContext и GCD
Из Руководство по программированию основных данных : Вы должны предоставить каждому потоку свой собственный полностью частный контекст управляемого объекта и сохранить графы связанных объектов отдельно для каждого потока. Как это...
2095 просмотров

dispatch_sync против dispatch_async в основной очереди
Потерпите меня, это займет некоторое объяснение. У меня есть функция, похожая на приведенную ниже. Контекст: «aProject» — это объект Core Data с именем LPProject с массивом с именем «memberFiles», который содержит экземпляры другого объекта Core...
56025 просмотров

Хороший шаблон для интернет-запросов с Grand Central Dispatch?
В настоящее время я использую синхронный ASIHTTPRequest с очередями GCD для загрузки данных из Интернета, а затем анализирую данные ответа с помощью JSONKit. Что вы думаете об этом образце. Заранее спасибо. Вот мой код:...
6122 просмотров

В GCD есть ли способ определить, является ли текущая очередь параллельной или нет?
В GCD есть ли способ определить, является ли текущая очередь параллельной или нет? В настоящее время я пытаюсь выполнить отложенное сохранение в некоторых контекстах управляемых объектов, но мне нужно убедиться, что очередь, в которой в данный момент...
1099 просмотров
schedule 04.06.2024

В Cocoa Touch/UIKit, как обнаружить изменения в пользовательском интерфейсе из фонового потока?
В Cocoa Touch, если мы обновляем элементы пользовательского интерфейса из фонового потока, происходят плохие вещи. Проблема в том, что это происходит не постоянно, поэтому какое-то легкое фоновое вмешательство в пользовательский интерфейс может...
458 просмотров

Как я могу получить возвращаемое значение из блока завершения?
Можно ли запустить блок завершения в основном потоке? Например, у меня есть один метод, который возвращает значение: - (int)test { /* here one method is called with completion block with return type void */ [obj...
14839 просмотров

Ссылка на объект NSOperation в его собственном блоке завершения с помощью ARC
У меня возникли трудности с преобразованием некоторого кода NSOperation в ARC. В моем объекте операции используется блок завершения, который, в свою очередь, содержит блок GCD, обновляющий пользовательский интерфейс в основном потоке. Поскольку я...
5793 просмотров

Запланируйте приложение для запуска / выхода на передний план в определенные даты / время
Я хотел бы иметь несколько расписаний для запуска моего приложения (если возможно) или выхода на передний план из приостановленного состояния в определенные даты/время. Это тип будильника, однако мне нужно нечто большее, чем возможность показать...
1215 просмотров

Использование GCD для ожидания условия
Я пытаюсь установить определенный порядок выполнения задач с помощью Grand Central Dispatch, но у меня возникают проблемы с пониманием правильного способа сделать это. Я пробовал использовать группы следующим образом: Инициализация: startup =...
3464 просмотров

Core Data и Multithreading аварийно завершают работу при сохранении
Я создаю приложение, которое извлекает данные с удаленного сервера и сохраняет их в базе данных CoreData SQLite. Я извлекаю данные из фонового потока, в то время как основной поток их потребляет. Вот основные подходы, которые я использую. Все...
1639 просмотров