zoukankan      html  css  js  c++  java
  • 延时执行的三种方式

     1 - (void)viewDidLoad
     2 {
     3     [super viewDidLoad];
     4     // Do any additional setup after loading the view, typically from a nib.
     5 }
     6 
     7 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
     8 {
     9     NSLog(@"-----touchesBegan1-----");
    10     
    11 
    12 
    13     NSLog(@"-----touchesBegan2-----");
    14 }
    15 
    16 - (void)download:(NSString *)url
    17 {
    18     NSLog(@"download------%@---%@", url, [NSThread currentThread]);
    19 }
    20 
    21 - (void)delay3
    22 {
    23     // 3秒后回到主线程执行block中的代码
    24 //    dispatch_queue_t queue = dispatch_get_main_queue();
    25 //    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{
    26 //        NSLog(@"------task------%@", [NSThread currentThread]);
    27 //    });
    28     
    29     // 3秒后自动开启新线程 执行block中的代码
    30     dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    31     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{
    32         NSLog(@"------task------%@", [NSThread currentThread]);
    33     });
    34 }
    35 
    36 - (void)delay2
    37 {
    38     // 一旦定制好延迟任务后,不会卡主当前线程
    39     [self performSelector:@selector(download:) withObject:@"http://555.jpg" afterDelay:3];
    40 }
    41 
    42 - (void)delay1
    43 {
    44     // 延迟执行不要用sleep,坏处:卡住当前线程
    45     [NSThread sleepForTimeInterval:3];
    46     NSLog(@"-----下载图片-----");
    47 }
  • 相关阅读:
    zoj 1239 Hanoi Tower Troubles Again!
    zoj 1221 Risk
    uva 10192 Vacation
    uva 10066 The Twin Towers
    uva 531 Compromise
    uva 103 Stacking Boxes
    稳定婚姻模型
    Ants UVA
    Golden Tiger Claw UVA
    关于upper、lower bound 的探讨
  • 原文地址:https://www.cnblogs.com/nxz-diy/p/5365608.html
Copyright © 2011-2022 走看看