GCD一次性任务

一次性任务在程序的整个生命周期只运行一次且一次(one and only once)
dispatch_once(—, ^block {})

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
 //使用带snippet的快捷键
//    static dispatch_once_t onceToken;
//    dispatch_once(&onceToken, ^{
//        //
//    });

    for (int i = 0; i < 10; i++) {
        NSLog(@"进入for循环,执行次数:%d",i);

        //创建一个静态的一次性任务对象
        static dispatch_once_t onceToken;
        //执行一次性任务
        dispatch_once(&onceToken, ^{
            //只运行一次且一次
            NSLog(@"====只运行一次====");
        });

    }

}

@end

GCD一次性任务_第1张图片

你可能感兴趣的:(多线程---GCD)