多线程:GCD 基本使用
来源:互联网 发布:c语言开根号不用math 编辑:程序博客网 时间:2024/05/24 06:33
//// ViewController.m// 05-GCD基本使用//// Created by gzxzmac on 16/1/29.// Copyright © 2016年 gzxzmac. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [self gcdDemo3];}/** 跟NSThread 对比 1. GCD使用block ,代码都放在一起,比较直观。NSThread 需要使用selector 来指定线程入口 2. GCD 回到主线程使用 dispatch_get_main_queue .NSThread 回到主线程,只能通过NSObject 的分类方法来实现 */// 同步- (void)gcdDemo { // 同步 // 任务 void (^task)() = ^ { NSLog(@"%@",[NSThread currentThread]); }; dispatch_sync(dispatch_get_global_queue(0, 0), task);}//异步- (void)gcdDemo1 { void (^task)() = ^ { NSLog(@"%@",[NSThread currentThread]); }; dispatch_async(dispatch_get_global_queue(0, 0), task);}// 精简- (void)gcdDemo2 { dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"%@",[NSThread currentThread]); });}// 线程间通讯- (void)gcdDemo3 { // 下载 dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"正在下载%@",[NSThread currentThread]); // 回到主线程刷新UI dispatch_sync(dispatch_get_main_queue(), ^{ NSLog(@"刷新UI%@",[NSThread currentThread]); }); });}@end
0 0
- 多线程:GCD 基本使用
- GCD(多线程)基本使用!!!
- iOS开发多线程-GCD的基本使用
- 网络多线程-GCD的基本使用
- 网络多线程-GCD的基本使用(2)
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程—07GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- ios开发多线程篇——GCD的基本使用
- iOS开发多线程篇—GCD的基本使用
- iOS 多线程篇7—GCD的基本使用
- ios多线程-GCD基本用法
- 使用GCD实现多线程
- key word
- 弦月下的SQL<2> 数据库管理
- 代码大全_第3部分: 变量
- 删除docker0网卡
- Binary Tree Inorder Traversal
- 多线程:GCD 基本使用
- 80端口被占用(端口检查)解决--转
- 闭关日记 Day13
- 弦月下的SQL<3> 表的创建
- 第十一章,使用类
- 【游戏服务器开发】SDK接入——以nibia为例的SDK接入总结
- Android OkHttp完全解析 是时候来了解OkHttp了
- 多线程:图片下载案例
- 1006 of strategy