系列文章:
Pthreads
这是一套在很多操作系统上都通用的多线程API, 基于 c语言 的框架
|
|
打印输出
|
|
你需要手动处理线程的各个状态的转换即管理生命周期,比如,这段代码虽然创建了一个线程,但并没有销毁。
NSThread
这套方案是经过苹果封装后的,并且完全面向对象的。所以你可以直接操控线程对象,非常直观和方便。但是,它的生命周期还是需要我们手动管理,所以这套方案也是偶尔用用,比如 [NSThread currentThread]
,它可以获取当前线程类,你就可以知道当前线程的各种属性,用于调试十分方便。下面来看看它的一些用法。
创建并启动
- 先创建线程类,再启动
OBJECTIVE-C
|
|
SWIFT
|
|
- 创建并自动启动线程
OBJECTIVE-C
|
|
SWIFT
|
|
- 使用 NSObject 的方法创建(隐式创建)并自动启动线程
OBJECTIVE-C
|
|
SWIFT
苹果认为 performSelector: 不安全,所以在 Swift 去掉了这个方法。
Note: The performSelector: method and related selector-invoking methods are not imported in Swift because they are inherently unsafe.
上述2种创建线程方式的优缺点
- 优点:简单快捷
- 缺点:无法对线程进行更详细的设置
其他方法
|
|
更详尽的博客:
用来介绍 iOS 多线程中,pthread、NSThread 的使用方法及实现。
第一部分:pthread 的使用、其他相关方法。
第二部分:NSThread 的使用、线程相关用法、线程状态控制方法、线程之间的通信、线程安全和线程同步,以及线程的状态转换相关知识。