标签:
一、GCD与NSThread方式的延时执行进行比较
导入前面封装的GCD
#import "GCD.h"
- (void)threadEvent:(id)sender{
NSLog(@"NSThread线程事件");
}
- (void)viewDidLoad {
[super viewDidLoad];
//[self initConcurrent];
NSLog(@"开始");
//NSThread 方式的延时执行操作
[self performSelector:@selector(threadEvent:)
withObject:self
afterDelay:2.0];
//取消当前被注册的延时操作
// [NSObject cancelPreviousPerformRequestsWithTarget:self];
//CCD方式延时执行操作
[GCDQueue executeInMainQueue:^{
NSLog(@"延时2秒执行");
} afterDelaySecs:2.f];
}
执行结果:
2015-07-11 11:24:02.654 GCDDelay[2735:213842]开始
2015-07-11 11:24:04.655 GCDDelay[2735:213842] NSThread线程事件
2015-07-11 11:24:04.796 GCDDelay[2735:213842]延时2秒执行
可以看出NSthread时间精准
二、打开 [NSObject cancelPreviousPerformRequestsWithTarget:self];
执行结果:
2015-07-11 11:30:56.768 GCDDelay[2796:220332]开始
2015-07-11 11:30:58.769 GCDDelay[2796:220332]延时2秒执行
可以看出 NSThread 线程被取消,没有执行
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/baitxaps/article/details/46840485