iOS学习总结之多线程编程(NSThread)
2015-08-30 22:03
351 查看
这一久正在学习多线程编程,现在将自己学习总结跟大家分享一下
iOS提供了如下3种多线程编程的技术
>使用NSThread实现多线程
>使用NSOperation与NSOperationQueue实现多线程
>使用GCD(Grand Central Dispatch)实现多线程
这三种编程方式从上到下 抽象度层次是从低到高的 抽象度越高的用法越简单
iOS提供了如下3种多线程编程的技术
>使用NSThread实现多线程
>使用NSOperation与NSOperationQueue实现多线程
>使用GCD(Grand Central Dispatch)实现多线程
这三种编程方式从上到下 抽象度层次是从低到高的 抽象度越高的用法越简单
- (void)viewDidLoad { [super viewDidLoad]; #pragma mark-使用NSThread实现多线程 // 创建和启动线程 // 创建NSthread有两种方式 // >initWithTarget:<#(id)#> selector:<#(SEL)#> object:<#(id)#> 只创建需要手动启动 // >detachNewThreadSelector:<#(SEL)#> toTarget:<#(id)#> withObject:<#(id)#> 创建并启动 for (int i = 0; i < 30; i ++) { NSLog(@"===%@===%i", [NSThread currentThread], i); if (i == 20) { // 创建线程对象 NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; // 启动新线程 [thread start]; // 创建并启动新线程 // [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil]; } } } - (void)run{ for (int i = 0; i < 30; i++) { // [NSThread currentThread] 当前线程 // 可以通过setName:方法为线程设置名字 也可以通过name方法返回指定线程的名字 NSLog(@"---%@---%i", [NSThread currentThread], i); } }
相关文章推荐
- iOS7 CookBook精彩瞬间(一)property、selector细节、__unused
- iOS7 CookBook精彩瞬间(一)property、selector细节、__unused
- 基于cordova的 百度混音插件 iOS版
- iOS常用设计模式——原型模式
- iOS阶段学习第35天笔记(Touch手势介绍)
- ios开发之 - xcode 快捷键
- iOS 如何解析crash 日志
- [转载]ios入门篇 -hello Word(1)
- iOS 8创建交互式通知
- 关于iOS和OS X废弃的API你需要知道的一切
- iOS内置付费开发笔记
- iOS阶段学习第32天笔记(页面传值方法介绍)
- iOS开发中经常遇到的问题及解决办法1
- iOS调试——基础(一)
- IOS 开发笔记——二维码的生成和扫描
- iOS分类和扩展(Categories和Extensions)
- 将视频导入到iOS Simulator中
- 常见问题
- 如何获取IOS上所有安装的app?
- iOS Foundation框架初接触