Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSLock

Опции
Развертывание Target:

На этой странице
Язык:

NSLock

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

Вы не должны использовать этот класс для реализации рекурсивной блокировки. Вызов lock метод дважды на том же потоке запрет Ваш поток постоянно. Используйте NSRecursiveLock класс для реализации рекурсивных блокировок вместо этого.

Разблокирование незаблокированной блокировки считают ошибкой программиста и нужно фиксировать в Вашем коде. NSLock класс сообщает о таких ошибках путем печати сообщения об ошибке к консоли, когда они происходят.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Попытки получить блокировку перед данным временем и возвратами булево значение, указывающее, была ли попытка успешна.

    Объявление

    Swift

    func lockBeforeDate(_ limit: NSDate) -> Bool

    Objective C

    - (BOOL)lockBeforeDate:(NSDate *)limit

    Параметры

    limit

    Ограничение по времени для попытки получить блокировку.

    Возвращаемое значение

    YEStrue если блокировка получена прежде limit, иначе NOfalse.

    Обсуждение

    Поток блокируется, пока получатель не получает блокировку или limit достигнут.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Попытки получить блокировку и сразу возвращают булево значение, указывающее, была ли попытка успешна.

    Объявление

    Swift

    func tryLock() -> Bool

    Objective C

    - (BOOL)tryLock

    Возвращаемое значение

    YEStrue если блокировка была получена, иначе NOfalse.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • имя имя Свойство

    Имя связалось с получателем.

    Объявление

    Swift

    var name: String?

    Objective C

    @property(copy) NSString *name

    Обсуждение

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

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.