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()

```

上一篇:java设计模式--解决单例设计模式中懒汉式线程安全问题


下一篇:十次艳遇单例设计模式(Singleton Pattern)