多线程之NSThread

2021-10-25  本文已影响0人  温柔的熊

NSThread是苹果提供给开发者的一个可以操作线程的对象。
既然是对象,就从属性和方法两个方面介绍。
属性有描述性的作用。

描述

@property double threadPriority; 
// 由高到低
// NSQualityOfServiceUserInteractive 用于直接于UI交互的任务,比如渲染UI到屏幕上。
// NSQualityOfServiceUserInitiated 用于用户明确请求的任务,且执行结果需要立即展示,以便用户近一步操作。比如,在消息列表中加载一个可以被选中的邮件。
//  NSQualityOfServiceDefault 默认优先级
// NSQualityOfServiceUtility 普通优先级
//  NSQualityOfServiceBackground 后台优先级

操作

NSThreadPerformAdditions分类

这个分类里的方法,能够实现线程之间通信的功能

// 直接在主线程中,执行某个方法
- (void)performSelectorMainThread:(SEL)aSelector withObject:(nullable id)arg waitUntilDone:(Bool)wait modes:(nullable NSArray<NSString *> *)array;
// 在制定的 NSThread线程中执行某个方法
- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(nullable id)arg waithUntilDone:(Bool)wait modes:(nullable NSArray<NSString *> *)array;
// 在后台线程中执行某个方法
- (void)performSelectorInBackground:(SEL)aSelector withObject:(nullable id)arg;
上一篇 下一篇

猜你喜欢

热点阅读