NSConditionLock
NSConditionLock
класс определяет объекты, блокировки которых могут быть связаны с определенными, определяемыми пользователем условиями. Используя NSConditionLock
объект, можно гарантировать, что поток может получить блокировку, только если соблюдено определенное условие. Как только это получило блокировку и выполнило критический раздел кода, поток может оставить блокировку и установить связанное условие к чему-то новому. Сами условия произвольны: Вы определяете их по мере необходимости для Вашего приложения.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSLocking
-
NSObjectProtocol
-
Печатаемый
-
NSLocking
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
init (условие:) - initWithCondition:
Определяемый инициализаторИнициализирует недавно выделенный
NSConditionLock
возразите и устанавливает его условие.Объявление
Swift
init(condition
condition
: Int)Objective C
- (instancetype)initWithCondition:(NSInteger)
condition
Параметры
condition
Определяемое пользователем условие для блокировки. Значение
condition
является определяемым пользователем; см. описание класса для получения дополнительной информации.Возвращаемое значение
Инициализированный объект блокирования условия; может отличаться, чем исходный получатель.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Условие связалось с получателем. (только для чтения)
Обсуждение
Если никакое условие не было установлено, возвраты 0.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Попытки получить блокировку перед указанным моментом своевременно.
Объявление
Swift
func lockBeforeDate(_
limit
: NSDate) -> BoolObjective C
- (BOOL)lockBeforeDate:(NSDate *)
limit
Параметры
limit
Дата, которой блокировка должна быть получена или попытка, испытает таймаут.
Возвращаемое значение
YES
true
если блокировка получена в ограничении по времени,NO
false
иначе.Обсуждение
Условие, связанное с получателем, не принято во внимание в этой работе. Этот метод блокирует выполнение потока, пока получатель не получает блокировку или
limit
достигнут.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Попытки получить блокировку.
Объявление
Swift
func lockWhenCondition(_
condition
: Int)Objective C
- (void)lockWhenCondition:(NSInteger)
condition
Параметры
condition
Условие соответствовать на.
Обсуждение
Условие получателя должно быть равно
condition
прежде чем работа блокировки успешно выполнится. Этот метод блокирует выполнение потока, пока не может быть получена блокировка.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Попытки получить блокировку перед указанным моментом своевременно.
Объявление
Параметры
condition
Условие соответствовать на.
limit
Дата, которой блокировка должна быть получена или попытка, испытает таймаут.
Возвращаемое значение
YES
true
если блокировка получена в ограничении по времени,NO
false
иначе.Обсуждение
Условие получателя должно быть равно
condition
прежде чем работа блокировки успешно выполнится. Этот метод блокирует выполнение потока, пока блокировка не может быть получена илиlimit
достигнут.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Попытки получить блокировку вне зависимости от условия получателя.
Объявление
Swift
func tryLock() -> Bool
Objective C
- (BOOL)tryLock
Возвращаемое значение
YES
true
если блокировка могла бы быть получена,NO
false
иначе.Обсуждение
Этот метод сразу возвращается.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Попытки получить блокировку, если условие получателя равно указанному условию.
Объявление
Swift
func tryLockWhenCondition(_
condition
: Int) -> BoolObjective C
- (BOOL)tryLockWhenCondition:(NSInteger)
condition
Возвращаемое значение
YES
true
если блокировка могла бы быть получена,NO
false
иначе.Обсуждение
Как часть его реализации, этот метод вызывает
lockWhenCondition:beforeDate:
. Этот метод сразу возвращается.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Оставляет блокировку и устанавливает условие получателя.
Объявление
Swift
func unlockWithCondition(_
condition
: Int)Objective C
- (void)unlockWithCondition:(NSInteger)
condition
Параметры
condition
Определяемое пользователем условие для блокировки. Значение
condition
является определяемым пользователем; см. описание класса для получения дополнительной информации.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Имя связалось с получателем.
Обсуждение
Можно использовать строку имени для идентификации блокировки условия в коде. Какао также использует это имя в качестве части любых описаний ошибок, включающих получатель.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.