iOS多线程之Thread

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS多线程之Thread相关的知识,希望对你有一定的参考价值。


  1. Thread 是苹果官方提供的,简单已用,可以直接操作线程对象。不过需要程序员自己管理线程的生命周期,主要是创建那部分

  2. 优缺点
    • 面向对象,简单易用
    • 直接操作线程对象
    • 需要自己管理线程生命周期(主要指创建)
    • 偶尔会用的Thread,一般会用到它的方法;current、name等等
  3. 基本使用

    • 创建线程

    ``` 创建线程,手动启动 let thread = Thread(target: self, selector: #selector(makeMoney), object: [“Name”: “snailjj”]) thread.name = “Thread1” //线程的名字 thread.threadPriority = 0.6 //线程的优先级 thread.start() //创建完成后,手动启动线程,并且会执行makeMoney的方法

    < 大专栏  iOS多线程之Thread/li>
创建线程,并且自己启动 hread.detachNewThreadSelector(#selector(eat), toTarget: self, with: nil)


   * 线程相关方法

Thread.current:获取当前线程 Thread.main:获取主线程

thread.isMainThread:当前线程是否是主线程 thread.name:当前线程的名字 thread.threadPriority:获取线程的优先级 0~1,线程优先级区别于线程占有cpu时间的多少,当然优先级越高同等条件下占有的cpu时间越多。级别高的执行效率要高于级别低的



   * 线程状态控制的方法

thread.start() 线程进入就绪状态 -> 运行状态,当线程结束后,自动进入死亡状态

//线程进入阻塞(暂停)状态 Thread.sleep(forTimeInterval: 0.5) Thread.sleep(until: Date(timeIntervalSinceNow: 0.5))

//强制停止线程,并且进入死亡状态 Thread.exit()

```

以上是关于iOS多线程之Thread的主要内容,如果未能解决你的问题,请参考以下文章

iOS多线程之NSThreadNSOperationQueueNSObject和GCD的区别

Java并发编程之六:Runnable和Thread实现多线程的区别(含代码)

多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

49多线程创建的三种方式之继承Thread类

Rust多线程之数据共享

java 22 - 9 多线程之 代码实现的方式2