线程通信初识和总结
来源:互联网 发布:mac 新建智能文件夹 编辑:程序博客网 时间:2024/06/07 00:56
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSOperationQueue *queue = [[NSOperationQueue alloc] init]; [queue addOperationWithBlock:^{ NSURL *url = [NSURL URLWithString:@"http://pic.nipic.com/2008-05-07/20085722191339_2.jpg"]; NSData *data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; NSLog(@"%p",image); // 2.回到主线程,显示图片 // 0. [self.imageView performSelector:@selector(setImage:) onThread:[NSThread mainThread] withObject:image waitUntilDone:YES]; // 1. // [self.imageView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:YES]; // 2. // dispatch_async(dispatch_get_main_queue(), ^{ // self.imageView.image = image; // }) ; // 3. [[NSOperationQueue mainQueue] addOperationWithBlock:^{ self.imageView.image = image; }]; NSLog(@"finish"); }];} // NSOperationQueue/ // NSOperation 和 NSOperationQueue /** * 1.队列的类型 主队列 [NSOperation mainqueue]; 添加到主队列中的操作,都会放到主线程中执行 非主队列 [[NSOperation alloc] init]; 添加到非主队列中的操作,都会放到子线程中执行 2.队列添加任务 - addOperation: - addOperationWithBlock: 3.常见方法 设置最大并发数 maxConcurrentOperationCount 队列的操作 cancelAllOperations - cancel -setSuspended: 4. 操作之间的依赖 - addDependency: 操作B依赖于A,等A执行完才会执行B 不能互相依赖 可以在不同queue的NSOperation直接建立依赖 5. 通信 // 执行一些比较耗时的操作 // 回到主线程 */ /** * 6. 从其他线程回到主线程的方式 perform GCD NSOperationQueue */ /** * 7.判断编译器环境是ARC还是MRC? #if __has feature(objc_arc) // 当前编译器环境是ARC #else // 当前编译器环境是MRC #endif */ /** * 8.类的初始化方法 + load 当类第一次转载进内存 OC运行时系统,就会调用 程序一启动就会调用 程序运行过程中,只会调用一次 + initialize 当类第一次被使用 ,比如alloc 就会调用 并非程序一启动就会调用 在程序运行过程中,1个类的某个操作,只想指向一次,放在+load中执行 */
0 0
- 线程通信初识和总结
- windows和linux进程间通信,线程间通信总结
- 进程间通信和线程间通信总结
- java多线程总结(三):线程的同步和通信
- 进程通信和线程通信
- 线程同步和线程通信
- 线程通信和同步
- 线程、进程和通信
- 进程线程通信方法总结
- 进程及线程通信总结
- 线程之间的通信总结
- unix线程通信方式总结
- 线程、进程通信再总结
- Java线程总结(3):线程通信
- 初识通信
- <>线程-异步通信和同步通信
- 进程间通信和线程通信小结
- 进程间通信和线程间通信
- 黑马程序员=======数组使用总结
- SOAPUI 安装
- Servlet线程安全问题
- hdu5384(AC自动机+纪录重复单词出现的次数)
- Unity3D中实现动态加载Resources目录外的资源
- 线程通信初识和总结
- 如何安装Android Studio
- 获取页面可视区的高度·DOCTYPE的作用·将滚动条定位到具体的元素
- ajax 中关于URL路径及参数特殊字符问题
- 学习新语言
- android和java webservice RSA处理的不同
- Uiautomator——实例分析——唯品会的优物
- Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试
- Linux系统管理员需要知道的16个服务器监控命令