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

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

Разработчик

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

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

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

NSThread

NSThread возразите управляет потоком выполнения. Используйте этот класс, когда Вы захотите выполнить метод Objective C в его собственном потоке выполнения. Потоки особенно полезны, когда Вы должны выполнить длинную задачу, но не хотите, чтобы она блокировала выполнение остальной части приложения. В частности можно использовать потоки, чтобы избежать блокировать основной поток приложения, обрабатывающего пользовательский интерфейс и событийные действия. Потоки могут также использоваться для деления большого задания на несколько меньших заданий, которые могут привести к увеличениям производительности на многожильных компьютерах.

До OS X v10.5, единственный способ начать новую дискуссию состоит в том, чтобы использовать detachNewThreadSelector:toTarget:withObject: метод. В OS X v10.5 и позже, можно создать экземпляры NSThread и запустите их в более позднее время с помощью start метод.

В OS Xv10.5, NSThread класс поддерживает семантику, подобную тем NSOperation для контроля условия во время выполнения потока. Можно использовать их семантика, чтобы отменить выполнение потока или определить, выполняет ли поток все еще или закончил свою задачу. Отмена потока требует поддержки со стороны Вашего кода потока; см. описание для cancel для получения дополнительной информации.

Разделение на подклассы примечаний

В OS X v10.5 и позже, можно разделить на подклассы NSThread и переопределение main метод для реализации основной точки входа потока. Если Вы переопределяете main, Вы не должны вызывать наследованное поведение путем вызова super.

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • init () - init Определяемый инициализатор

    Возвращает инициализированный NSThread объект.

    Объявление

    Swift

    init()

    Objective C

    - (instancetype)init

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

    Инициализированный NSThread объект.

    Обсуждение

    Это - определяемый инициализатор для NSThread.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвраты NSThread объект инициализируется с данными параметрами.

    Объявление

    Swift

    convenience init(target target: AnyObject, selector selector: Selector, object argument: AnyObject?)

    Objective C

    - (instancetype)initWithTarget:(id)target selector:(SEL)selector object:(id)argument

    Параметры

    target

    Объект тот, к который сообщение, указанное selector отправляется.

    selector

    Селектор для сообщения для отправки к target. Этот селектор должен взять только один параметр и не должен иметь возвращаемого значения.

    argument

    Отдельный аргумент передал цели. Может быть nil.

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

    NSThread объект инициализируется с данными параметрами.

    Обсуждение

    Объекты target и argument сохраняются во время выполнения отдельного потока. Когда поток наконец выходит, они выпущены.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Отсоединяет новый поток и использует указанный селектор в качестве точки входа потока.

    Объявление

    Swift

    class func detachNewThreadSelector(_ aSelector: Selector, toTarget aTarget: AnyObject, withObject anArgument: AnyObject?)

    Objective C

    + (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument

    Параметры

    aSelector

    Селектор для сообщения для отправки к цели. Этот селектор должен взять только один параметр и не должен иметь возвращаемого значения.

    aTarget

    Объект, который получит сообщение aSelector на новом потоке.

    anArgument

    Отдельный аргумент передал цели. Может быть nil.

    Обсуждение

    Объекты aTarget и anArgument сохраняются во время выполнения отдельного потока, затем выпустил. Из отдельного потока выходят (использование exit метод класса), как только aTarget завершил выполнение aSelector метод.

    Если этот поток является первым потоком, отсоединенным в приложении, этот метод отправляет NSWillBecomeMultiThreadedNotification с объектом nil к центру уведомления по умолчанию.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Запускает получатель.

    Объявление

    Swift

    func start()

    Objective C

    - (void)start

    Обсуждение

    Этот метод порождает новый поток и вызывает получатель main метод на новом потоке. Если Вы инициализировали получатель с целью и селектором, значением по умолчанию main метод вызывает тот селектор автоматически.

    Если этот поток является первым потоком, отсоединенным в приложении, этот метод отправляет NSWillBecomeMultiThreadedNotification с объектом nil к центру уведомления по умолчанию.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Основная подпрограмма точки входа для потока.

    Объявление

    Swift

    func main()

    Objective C

    - (void)main

    Обсуждение

    Реализация по умолчанию этого метода берет цель, и селектор раньше инициализировал получатель и вызывает селектор на указанную цель. Если Вы разделяете на подклассы NSThread, можно переопределить этот метод и использовать его для реализации основной части потока вместо этого. Если Вы делаете так, Вы не должны вызывать super.

    Вы никогда не должны вызывать этот метод непосредственно. Необходимо всегда запускать поток путем вызова start метод.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – запустить

  • Блокирует текущий поток до указанного времени.

    Объявление

    Swift

    class func sleepUntilDate(_ aDate: NSDate)

    Objective C

    + (void)sleepUntilDate:(NSDate *)aDate

    Параметры

    aDate

    Время, в которое можно продолжить обрабатывать.

    Обсуждение

    В то время как поток блокируется, никакая обработка цикла выполнения не происходит.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Сны поток для данного временного интервала.

    Объявление

    Swift

    class func sleepForTimeInterval(_ ti: NSTimeInterval)

    Objective C

    + (void)sleepForTimeInterval:(NSTimeInterval)ti

    Параметры

    ti

    Продолжительность сна.

    Обсуждение

    В то время как поток блокируется, никакая обработка цикла выполнения не происходит.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Завершает текущий поток.

    Объявление

    Swift

    class func exit()

    Objective C

    + (void)exit

    Обсуждение

    Этот метод использует currentThread метод класса получить доступ к текущему потоку. Прежде, чем выйти из потока, этот метод отправляет NSThreadWillExitNotification с потоком, вышедшим к центру уведомления по умолчанию. Поскольку уведомления поставлены синхронно, все наблюдатели NSThreadWillExitNotification как гарантируют, получат уведомление перед выходами потока.

    Вызова этого метода нужно избежать, поскольку это не дает Вашему потоку шанс очистить любые ресурсы, которые это выделило во время его выполнения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Изменяет отмененное состояние получателя, чтобы указать, что это должно выйти.

    Объявление

    Swift

    func cancel()

    Objective C

    - (void)cancel

    Обсуждение

    Семантика этого метода совпадает с используемыми для NSOperation объект. Этот метод устанавливает информацию состояния в получателе, тогда отражающемся isCancelled метод. Потоки, поддерживающие отмену, должны периодически вызывать isCancelled метод, чтобы определить, был ли поток фактически отменен, и выход, если это было.

    Для получения дополнительной информации об отмене и объектах операции, см. Ссылку класса NSOperation.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – isCancelled

  • Булево значение, указывающее, выполняется ли получатель. (только для чтения)

    Объявление

    Swift

    var executing: Bool { get }

    Objective C

    @property(readonly, getter=isExecuting) BOOL executing

    Обсуждение

    YEStrue если получатель выполняется, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Булево значение, указывающее, закончил ли получатель выполнение. (только для чтения)

    Объявление

    Swift

    var finished: Bool { get }

    Objective C

    @property(readonly, getter=isFinished) BOOL finished

    Обсуждение

    YEStrue если получатель закончил выполнение, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Булево значение, указывающее, отменяется ли получатель. (только для чтения)

    Объявление

    Swift

    var cancelled: Bool { get }

    Objective C

    @property(readonly, getter=isCancelled) BOOL cancelled

    Обсуждение

    YEStrue если получатель был отменен, иначе NOfalse.

    Если Ваш поток поддерживает отмену, он должен периодически проверять это свойство и выход, если он когда-нибудь возвращается YEStrue.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает булево значение, указывающее, является ли текущий поток основным потоком.

    Объявление

    Swift

    class func isMainThread() -> Bool

    Objective C

    + (BOOL)isMainThread

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

    YEStrue если текущий поток является основным потоком, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + mainThread

  • isMainThread isMainThread Свойство

    Булево значение, указывающее, является ли получатель основным потоком. (только для чтения)

    Объявление

    Swift

    var isMainThread: Bool { get }

    Objective C

    @property(readonly) BOOL isMainThread

    Обсуждение

    YEStrue если получатель является основным потоком, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвраты NSThread объект, представляющий основной поток.

    Объявление

    Swift

    class func mainThread() -> NSThread

    Objective C

    + (NSThread *)mainThread

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

    NSThread объект, представляющий основной поток.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – isMainThread

  • Возвраты, многопоточно ли приложение.

    Объявление

    Swift

    class func isMultiThreaded() -> Bool

    Objective C

    + (BOOL)isMultiThreaded

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

    YEStrue если приложение многопоточно, NOfalse иначе.

    Обсуждение

    Если поток когда-либо отсоединялся от основного потока с помощью также, заявление рассматривается многопоточное detachNewThreadSelector:toTarget:withObject: или start. При отсоединении потока в приложении с помощью некакао API, такой как POSIX или Multiprocessing Services APIs, этот метод мог все еще возвратиться NOfalse. Отдельный поток не должен в настоящее время работать за приложением, которое будут считать многопоточным — этот метод только указывает, был ли порожден единственный поток.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает объект потока представление текущего потока выполнения.

    Объявление

    Swift

    class func currentThread() -> NSThread

    Objective C

    + (NSThread *)currentThread

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

    Объект потока представление текущего потока выполнения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает массив, содержащий обратные адреса стека вызовов.

    Объявление

    Swift

    class func callStackReturnAddresses() -> [AnyObject]

    Objective C

    + (NSArray *)callStackReturnAddresses

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

    Массив, содержащий обратные адреса стека вызовов.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает массив, содержащий символы стека вызовов.

    Объявление

    Swift

    class func callStackSymbols() -> [AnyObject]

    Objective C

    + (NSArray *)callStackSymbols

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

    Массив, содержащий символы стека вызовов.

    Обсуждение

    Этот метод возвращает массив строк, описывающих след стека вызовов текущего потока в данный момент, этот метод вызвали. Формат каждой строки является необоротным и определяется backtrace_symbols() API

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Словарь объекта потока. (только для чтения)

    Объявление

    Swift

    var threadDictionary: NSMutableDictionary? { get }

    Objective C

    @property(readonly, retain) NSMutableDictionary *threadDictionary

    Обсуждение

    Можно использовать возвращенный словарь, чтобы хранить специфичные для потока данные. Словарь потока не используется во время никаких манипуляций NSThread объект — это - просто место, где можно хранить любые интересные данные. Например, Основа использует его для хранения значения по умолчанию потока NSConnection и NSAssertionHandler экземпляры. Можно определить собственные ключи для словаря.

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

    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 и позже.

  • stackSize stackSize Свойство

    Размер штабеля получателя, в байтах.

    Объявление

    Swift

    var stackSize: Int

    Objective C

    @property NSUInteger stackSize

    Обсуждение

    Это значение должно быть в байтах и кратном числе 4 КБ.

    Для изменения размера штабеля необходимо установить это свойство прежде, чем запустить поток. При установке размера штабеля после того, как запустился поток, изменяет размер атрибута (который отражается stackSize метод), но это не влияет на фактическое число страниц, отложенных для потока.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает приоритет текущего потока.

    Объявление

    Swift

    class func threadPriority() -> Double

    Objective C

    + (double)threadPriority

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

    Приоритет текущего потока, указанный числом с плавающей точкой от 0,0 до 1,0, где 1.0 самый высокий приоритет.

    Обсуждение

    Приоритеты в этом диапазоне отображаются на приоритетных значениях операционной системы. «Типичный» приоритет потока мог бы быть 0.5, но потому что приоритет определяется ядром, нет никакой гарантии, каково это значение фактически будет.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • threadPriority threadPriority Свойство

    Приоритет получателя

    Объявление

    Swift

    var threadPriority: Double

    Objective C

    @property double threadPriority

    Обсуждение

    Приоритет потока, указанный числом с плавающей точкой от 0,0 до 1,0, где 1.0 самый высокий приоритет.

    Приоритеты в этом диапазоне отображаются на приоритетных значениях операционной системы. «Типичный» приоритет потока мог бы быть 0.5, но потому что приоритет определяется ядром, нет никакой гарантии, каково это значение фактически будет.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает приоритет текущего потока.

    Объявление

    Swift

    class func setThreadPriority(_ priority: Double) -> Bool

    Objective C

    + (BOOL)setThreadPriority:(double)priority

    Параметры

    priority

    Новый приоритет, указанный с числом с плавающей точкой от 0,0 до 1,0, где 1.0 самый высокий приоритет.

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

    YEStrue если распределение приоритетов успешно выполнилось, NOfalse иначе.

    Обсуждение

    Приоритеты в этом диапазоне отображаются на приоритетных значениях операционной системы.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    + threadPriority

  • Не реализованный.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • NSThread возразите отправляет это уведомление, когда оно получает exit сообщение, перед выходами потока. Методы наблюдателя, вызванные для получения этого уведомления, выполняются в выходящем потоке, прежде чем это выйдет.

    Объект уведомления является выходом NSThread объект. Это уведомление не содержит a userInfo словарь.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Отправленный, когда первый поток отсоединяется от текущего потока. NSThread класс отправляет это уведомление самое большее один раз — в первый раз, когда поток отсоединяется с помощью detachNewThreadSelector:toTarget:withObject: или start метод. Последующие вызовы тех методов не отправляют это уведомление. Наблюдателям этого уведомления вызвали их метод уведомления в основном потоке, не новом потоке. Методы уведомления наблюдателя всегда выполняются, прежде чем новый поток начинает выполняться.

    Это уведомление не содержит объект уведомления или a userInfo словарь.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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