iOS--多线程GCD延迟执行--07
来源:互联网 发布:paxos算法 应用 编辑:程序博客网 时间:2024/05/01 20:36
1.
#import "HMViewController.h"@interface HMViewController ()@end@implementation HMViewController- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"-----touchesBegan1-----"); NSLog(@"-----touchesBegan2-----");}- (void)download:(NSString *)url{ NSLog(@"download------%@---%@", url, [NSThread currentThread]);}- (void)delay3{ // 3秒后回到主线程执行block中的代码// dispatch_queue_t queue = dispatch_get_main_queue();// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{// NSLog(@"------task------%@", [NSThread currentThread]);// }); // 3秒后自动开启新线程 执行block中的代码 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{ NSLog(@"------task------%@", [NSThread currentThread]); });}- (void)delay2{ // 一旦定制好延迟任务后,不会卡主当前线程 [self performSelector:@selector(download:) withObject:@"http://555.jpg" afterDelay:3];}- (void)delay1{ // 延迟执行不要用sleep,坏处:卡住当前线程 [NSThread sleepForTimeInterval:3]; NSLog(@"-----下载图片-----");}@end
2.dispatch_once_t可以保证程序运行中只执行一次。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"----touchesBegan"); static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ NSLog(@"----once"); HMImageDownloader *downloader = [[HMImageDownloader alloc] init]; [downloader download]; });}
1 0
- iOS--多线程GCD延迟执行--07
- iOS:GCD进行延迟执行任务
- GCD延迟执行
- 多线程GCD+同步执行+异步执行+并行执行+串行执行+重复、分组、延迟、障碍方法
- IOS开发(63)之GCD执行延迟操作
- iOS开发-GCD 常见用法一(延迟执行)
- GCD 实现延迟一段时间执行
- ios 代码延迟执行
- iOS开发-延迟执行
- iOS开发-延迟执行
- iOS中的延迟执行
- iOS延迟执行
- iOS定时器、延迟执行
- iOS 延迟执行方法
- iOS 延迟执行方法
- iOS 延迟执行方法
- ios多线程操作(七)—— GCD延迟操作与一次性代码
- ios多线程操作(七)—— GCD延迟操作与一次性代码
- MySQL半同步复制
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- 第二周【项目3-体验复杂度】(2)汉诺塔
- 重要博客地址
- Ant和Maven特点
- iOS--多线程GCD延迟执行--07
- Mysql权限命令
- Golden Dream-9月
- linux /etc/fstab
- multipart/form-data
- tarjan算法不是很懂先mark一下。
- eclipse中JRE System library 和web app libraries
- 梯度优化算法总结
- NYOJ:458小光棍数