iOS开发多线程-线程间通讯
2015-09-25 23:28
555 查看
一、NSThread 线程间的通讯
二、GCD 线程间通讯
三、NSOperation 线程间的通讯
- (void)demoAboutNSThread { NSLog(@"demoAboutNSThread %@", [NSThread currentThread]); NSThread * thread = [[NSThread alloc] initWithTarget:self selector:@selector(longTimeOperation) object:nil]; [thread start]; } - (void)longTimeOperation { NSLog(@"longTimeOperation %@", [NSThread currentThread]); [self performSelectorOnMainThread:@selector(mainThreadOperation) withObject:nil waitUntilDone:NO]; } - (void)mainThreadOperation { NSLog(@"mainThreadOperation %@",[NSThread currentThread]); }
二、GCD 线程间通讯
- (void)dispatchDemo { NSLog(@" start %@",[NSThread currentThread]); dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@" 耗时从左 %@",[NSThread currentThread]); dispatch_sync(dispatch_get_main_queue(), ^{ NSLog(@" 回到主线程 %@", [NSThread currentThread]); }); }); NSLog(@"end %@",[NSThread currentThread]); }
三、NSOperation 线程间的通讯
- (void)demoAboutNSOperation { NSOperation * block = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"block %@",[NSThread currentThread]); }]; [self.queue addOperation:block]; [self.queue addOperationWithBlock:^{ NSLog(@"耗时操作 %@",[NSThread currentThread]); [[NSOperationQueue mainQueue] addOperationWithBlock:^{ NSLog(@" mainQueue %@",[NSThread currentThread]); }]; }]; }
相关文章推荐
- ios 相册 同时选择多张图片
- DateTools,可能是最好用的iOS日期工具库
- iOS证书(Certificates)及配置文件(Provisioning Profile)说明:
- DateTools,可能是最好用的iOS日期工具库
- 从零开始学习iOS开发-股票记帐本1.0(2)
- iOS整体框架图
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- iOS多线程编程之NSThread的使用
- 项目工程中 ios 相册和相机
- 蓝懿iOS培训日志21 触摸事件和拖拽
- iOS跑马灯效果的源代码
- iOS block
- 蓝懿iOS培训日志20 MKMap
- ios开发:Core Data概述
- 给ImageView添加约束后,在裁圆角作为头像,在ios9无效bug
- ios的系统框架
- iOS开发-常用第三方开源框架介绍
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- iOS改变状态栏的字体颜色
- iOS开发入门杂记