IOS 多线程初探(一) - NSThread
来源:互联网 发布:手淘自然排名优化步骤 编辑:程序博客网 时间:2024/06/05 05:54
废话不多说,直奔主题。今天简单介绍下IOS中的三种创建线程的方法
- 创建NSThread对象
NSThread *t = [[NSThread alloc] initWithTarget:self selector:@selector(functionName) object:nil]; [t start];
这是个典型的target-action方式,指定目标为self,执行动作为functionName,object为functionName的参数。调用start方法后,线程会执行functionName这个函数,此函数没有返回值。
2 创建一个类继承NSThread类,并覆盖main方法。
@interface MyThread : NSThread @end @implementation MyThread - (void) main { xxxxx..... } @end - (void)function { MyThread *t = [[MyThread alloc] init]; [t start]; }
在需要开启线程的地方创建MyThread对象,并调用start方法启动线程,便会执行到MyThread类中的main方法。
3 使用detach静态方法
[NSThread detachNewThreadSelector:@selector(functionName) toTarget:self withObject:nil];
使用detach静态方法不需要调用start方法便可直接启动线程,执行functionName方法。同样,withObject是functionName需要的参数。
介绍完线程的创建方法后,顺带介绍下线程的状态及睡眠和退出方法。
IOS中线程有三个状态,executing cancel finished。但是cancel和finished状态到底有什么用现在我还不知道,以后再来补充
sleepUntilDate
线程一直睡眠,直到某一时刻苏醒,执行动作。sleepForTimeInterval
使线程睡眠多少秒,类似于linux中的sleep函数。exit
[NSThread exit];
退出线程。类似于linux中的exit函数。cancel
NSThread *t;
[t cancel];
设置线程状态为取消状态。具体什么作用不详。。。有待研究。
1 0
- IOS 多线程初探(一) - NSThread
- iOS多线程编程(一)NSThread
- iOS 多线程(一)NSThread
- iOS多线程编程 (一) -----NSThread的使用
- iOS多线程开发系列之(一)NSThread
- iOS开发--多线程编程(一)NSThread
- iOS 多线程 NSThread
- IOS 多线程 NSThread
- iOS多线程 nsthread
- ios NSThread多线程
- iOS多线程开发 NSThread
- IOS 多线程 线程NSThread
- iOS多线程之NSThread
- iOS多线程开发 NSThread
- ios多线程之NSThread
- IOS 多线程 线程NSThread
- iOS多线程之NSThread
- iOS多线程之NSThread
- cloudera manager
- DFS之 部分和问题
- 【手把手教你全文检索】Apache Lucene初探(转)
- Spring MVC——DispatcherServlet简单介绍
- java程序中的@Override是什么意思?
- IOS 多线程初探(一) - NSThread
- decimal system
- gFirefly 學習筆記 (二) - 了解 appmain.py
- 知道两点经纬度算距离
- 3.css制作面包屑
- Netty系列之Netty编解码框架分析
- 读取 assets 图片文件 形成瀑布流查看
- Scalaz(25)- Monad: Monad Transformer-叠加Monad效果
- SQL学习 调整数据的外观