iOS 多线程 (一)
来源:互联网 发布:潘粤明 董洁 知乎 编辑:程序博客网 时间:2024/05/21 06:13
女程序员的第一篇博客 从事开发半年
iOS大致提供了如下三种多线程编程技术
1.使用NSThread实现多线程
2.使用NSOperation与NSOperationQueue实现多线程
3.使用GCD(Grand Central Dispatch)实现多线程
这三种编程方式从上到下,抽象层次从低到高,抽象度越高用法越简单
我们先来看看第一种~NSThread:
第一步:创建NSThread对象
两种方式~
1.NSThread *first = [[NSThread alloc]initWithTarget:<#(id)#> selector:<#(SEL)#> object:<#(id)#>];
2.NSThread *second = [NSThread detachNewThreadSelector:<#(SEL)#> toTarget:<#(id)#> withObject:<#(id)#>];
其中selector最多可以接受一个参数 Target对象的selector方法的方法代表了线程需要完成的任务,因此相当于吧target对象的selector方法转换为线程的执行体
第一种方法返回一个NSThread对象 必须调用start方法启动线程 第二种会直接创建并启动线程
当iOS应用运行后,至少会创建一个主线程,也叫UI线程。
+currentThread: 是NSThread类的类方法 返回当前正在执行的线程对象 除此之外程序可以通过setName方法为线程设置名字,也可以通过name方法返回指定线程的名字。
启动线程使用start方法,线程启动后并不是立即进入运行状态,线程被启动后进入就绪状态,当系统调度线程后,线程才会进入运行状态。如果希望调用子线程的start方法后立即开始执行线程,可以使用[NSTread sleepFprTimeInterval:0.001].
终止子线程
线程会在以下3种方式之一结束,结束就处于死亡状态
1.线程执行体方法执行完成,线程正常结束
2.线程执行过程中出现错误
3.直接调用NSTread类的exit方法来终止当前正在执行的线程
未完待续
0 0
- IOS开发 多线程 一
- iOS 多线程 (一)
- iOS多线程开发(一)
- iOS 多线程简介 一
- iOS:多线程编程(一)
- iOS 多线程编程<一、多线程实现方式>
- iOS 多线程(一)多线程基础
- IOS 多线程 RUNLOOP 机制 (一)
- IOS多线程编程一:概述
- IOS多线程编程一:概述
- IOS 多线程 RUNLOOP 机制 (一)
- iOS多线程开发(一)
- iOS多线程编程(一)NSThread
- iOS多线程开发(一)
- IOS多线程编程一:概述
- IOS 多线程 RUNLOOP 机制 (一)
- IOS 多线程 RUNLOOP 机制 (一)
- IOS 多线程 RUNLOOP 机制 (一)
- 情报学的主要学术期刊
- Java核心技术卷I:基础知识(原书第8版):12.2 简单泛型类的定义
- Java继承、抽象、接口、多态
- JSON-LIB使用
- qt arm 中文显示解决
- iOS 多线程 (一)
- 解决系统系统管理员不允许使用保存的凭据登录远程计算机
- 重载覆盖
- ubuntu12.04samba服务器配置
- Xcode 环境安装 与 工程创建
- Java核心技术卷I:基础知识(原书第8版):12.3 泛型方法
- Understanding the Internal Message Buffers of Storm
- oracle 触发器详细
- tomcat相关