美文网首页
多线程之NSThread

多线程之NSThread

作者: 温柔的熊 | 来源:发表于2021-10-25 11:54 被阅读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;

相关文章

网友评论

      本文标题:多线程之NSThread

      本文链接:https://www.haomeiwen.com/subject/dupjaltx.html