Описание тега nslock

Объект NSLock используется для координации работы нескольких потоков выполнения в одном приложении. Объект NSLock может использоваться для обеспечения доступа к глобальным данным приложения или для защиты критического участка кода, позволяя ему работать атомарно.
1 ответ

iOS - пытается настроить словарь блокировок

У меня есть код, который принимает NSString в качестве входных данных и использует эту строку для создания объекта. Мне нужно убедиться, что он не работает с одной и той же строкой дважды, например, если он вызывается из разных потоков или даже если…
25 авг '11 в 22:05
1 ответ

Как заблокировать NSLock в определенном потоке

У меня есть собственность @property NSLock *myLock И я хочу написать два метода: - (void) lock а также - (void) unlock Эти методы блокируют и разблокируют myLock соответственно, и они должны делать это независимо от того, какой поток или очередь их …
2 ответа

Как заставить определенную часть функции ждать в iOS

Я пытаюсь выполнить операцию общего доступа, где я вызываю функцию с асинхронным блоком, но в моем следующем операторе if мне нужно получить значение, которое завершается в блоке, чтобы продолжить. Это мой код, который выделит больше деталей. Я слыш…
2 ответа

NSRecursiveLock Deallocated

У меня есть приложение iOS с несколькими контроллерами представления и включенным ARC. Один из контроллеров представления имеет IBOutlet за UIScrollView а также UIPageControl, Когда этот контроллер представления загружен, эта ошибка напечатана в кон…
1 ответ

Как выполнить блокировку, ожидающую завершения анимации?

Я реализую панель состояния, которая анимируется с помощью пользовательского ввода. Эти анимации заставляют его подниматься или опускаться на определенную величину (скажем, на 50 единиц) и являются результатом нажатия кнопки. Есть две кнопки. Увелич…
24 авг '13 в 20:05
3 ответа

Как заблокировать выполнение кода в приложении iOS

описание проблемы У меня есть функция StdString ShowLockScreen() в этой функции я называю activateViewController функция, которая показывает некоторый пользовательский интерфейс, где пользователь должен ввести PIN-код, сразу после вызова activateVie…
26 ноя '12 в 11:40
3 ответа

Используя NSLocks как атомарные или неатомарные свойства?

Должен ли я объявить NSLock атомарным, или это просто пустая трата времени, а сам замок должен быть не атомарным?
10 июл '14 в 09:27
2 ответа

IOS SDK - сообщение NSLock: "разблокировано из потока, который не заблокировал его"

Я получаю эту ошибку, используя NSLock, которую я пытался обойти, используя unlockWithCondition (используя NSConditionLock), но независимо от этого я получаю тот же результат: * Перерыв на _NSLockError() для отладки. * - [NSLock unlock]: блокировка …
01 мар '12 в 16:49
2 ответа

NSLock, количество ожидающих потоков

Я разрабатываю приложение для iOS, и мне нужно реализовать решение проблемы, для которой мне нужно знать, сколько потоков ожидает блокировки одного и того же объекта NSLock. В Java у меня есть класс ReentrantLock с методом getQueueLength, который "в…
06 дек '13 в 11:46
0 ответов

Мне нужно, чтобы мой код был скомпилирован в последовательности

Недавно я столкнулся с проблемой при разработке xcode. Эта проблема: Это UIButton, который показывает True или False логическое значение после "Touch up inside". Сначала я получу неправильный логический результат и сразу после второго клика верный р…
30 июл '14 в 10:46
0 ответов

Лучший шаблон дизайна для фоновых потоков для заполнения NSTableView

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

NSLock - должен просто блокироваться при блокировке заблокированной блокировки?

У меня есть цикл, который начинается с [lock lock]; потому что в теле цикла я создаю другой поток, который должен завершиться, прежде чем цикл снова запустится. (Другой поток разблокирует его, когда закончите). Однако во втором цикле я получаю следу…
01 фев '11 в 21:28
1 ответ

iOS-приложение зависает с NSConditionLock

У меня странная проблема с зависанием приложения в определенный момент. Я думаю, это связано с тем, как я использую NSConditionLock, Theres библиотека, которую мне дали использовать, которая состоит из серии вопросов опроса, но она работает таким об…
29 апр '14 в 04:25
1 ответ

Проблема многопоточного доступа к данным, синхронная синхронизация и последовательная очередь

Как вы, возможно, поняли, доступ к непотоковым безопасным переменным является большой головной болью. За iOS Одним из простых решений является использование ключевого слова @synchronized, который добавит NSLock чтобы обеспечить доступ к данным одним…
30 апр '14 в 09:52
2 ответа

Swift: понимание тупика NSLock

Видя это сообщение в наших журналах, используя NSLock: *** -[NSLock lock]: deadlock (<NSLock: 0x6100000cbec0> '(null)') *** Break on _NSLockError() to debug. Означает ли это, что приложение обнаружило фатальную ошибку и перестанет работать? Ил…
15 окт '16 в 21:52
0 ответов

Сделайте NSOperation работать медленнее, чтобы использовать меньше ресурсов процессора

Мой поток в настоящее время выполняется с помощью NSThread. В моем случае у меня есть (очень) большие вычисления, и я растягиваю их в течение длительного периода (например, 5 минут). Цель здесь - использовать только около 2% процессорного времени. П…
21 июл '18 в 22:28
1 ответ

NSLock.lock() выполняется, пока блокировка уже удерживается?

Я рассматриваю пример кода Retrier Alamofire: func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion) { lock.lock() ; defer { lock.unlock() } if let response = request.task.resp…
15 окт '16 в 22:33
2 ответа

NSLock "контроллер" класс

Я пишу многопоточное приложение для iPhone и использую NSLock, чтобы убедиться, что некоторые операции (например, загрузка звуков из файла) будут работать как атомарные. Чтобы упростить получение блокировок из разных частей моего приложения, я напис…
15 сен '11 в 06:53
4 ответа

Даже если после блокировки произошел сбой потоков, <__ NSArrayM: 0x7f881a6b1900> был мутирован во время перечисления?

Это мой код, я удаляю несколько значений в моем состоянии -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { PhotoCan *cell=[collectionView cellForItemAtIndexPath:indexPath]; UIImage *getimg=…
3 ответа

Многопоточный вопрос в Objective-C 2.0

У меня есть основной делегат приложения, который содержит метод, который возвращает объект. Этот делегат приложения работает в главном потоке. У меня также есть NSOperation, который запускается в другом потоке. Помимо желания иногда вызывать мой мет…
27 окт '09 в 17:48