麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

iOS開發之GCD使用

2019-11-14 19:13:47
字體:
來源:轉載
供稿:網友

iOS開發之GCD使用

(1)使用GCD創建一個異步任務

#PRagma mark - 使用GCD創建一個異步任務- (void)createAsyncTask{    //創建一個異步任務    //參數1:傳入queue,有3種queue    //main queue  主隊列(UI主線程)    //global queue 全局隊列(理解為工作線程)    //自定義queue    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);    dispatch_async(queue, ^{        for (int i=0; i<20; i++) {            NSLog(@"A = %d",i);        }    });    dispatch_async(queue, ^{        for (int i=0; i<20; i++) {            NSLog(@"B = %d",i);        }    });    }

 

(2)模擬網絡下載

#pragma mark - 模擬網絡下載- (void)simulateNetWordDownload{    _progressView = [[UiprogressView alloc] initWithFrame:CGRectMake(10, 100, 300, 20)];    [self.view addSubview:_progressView];        //GCD最簡單開啟異步任務的形式    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        for (int i=0; i<100; i++) {            //子線程中不能直接更新UI//            progressView.progress+=0.01;            //(1)更新UI  dispatch_get_main_queue()  作用:切回主線程更新UI            dispatch_async(dispatch_get_main_queue(), ^{                    _progressView.progress+=0.01;            });                        [NSThread sleepForTimeInterval:0.1];        }                //(2)最后顯示對話框        dispatch_async(dispatch_get_main_queue(), ^{            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"下載完成" delegate:self cancelButtonTitle:@"取消" otherButtonTitles: nil];            [alert show];        });        //(1)(2)同步執行,先(1)后(2)    });        }

 

(3)只執行一次,實現單例(推薦實現的方式,線程安全)

#pragma mark - 只執行一次,實現單例(推薦實現的方式,線程安全)- (void)runOnce{    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        NSLog(@"只執行一次的代碼");    });}

 

(4)延時執行

#pragma mark - 延時執行- (void)delayRun{        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{        NSLog(@"1111111");    });}

 

(5)通知同時異步執行多個任務,等待所有任務下載完成進行處理(類似迅雷

#pragma mark - 通知執行多個任務,等待所有任務下載完成進行處理(類似迅雷)- (void)groupRun{    //group 任務組    dispatch_group_t group = dispatch_group_create();        //7s完成    dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        for (int i=0; i<100; i++) {            NSLog(@"A = %d",i);            [NSThread sleepForTimeInterval:0.07];        }    });    //5s完成    dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        for (int i=0; i<100; i++) {            NSLog(@"B = %d",i);            [NSThread sleepForTimeInterval:0.05];        }    });    //10s完成    dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        for (int i=0; i<100; i++) {            NSLog(@"C = %d",i);            [NSThread sleepForTimeInterval:0.1];        }    });        dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        NSLog(@"所有任務完成,自動關機");    });}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 男人的天堂毛片 | 毛片视频网站在线观看 | 国产一区二区三区在线视频 | 日本精品视频一区二区三区四区 | 钻石午夜影院 | 国内精品久久久久久久久久 | h网站在线观看 | 免费a视频在线观看 | 国产精品99精品 | 国产高清美女一级毛片久久 | 美女污污视频在线观看 | 久在线观看福利视频69 | 久久久免费观看完整版 | 懂色av懂色aⅴ精彩av | 国产影院一区 | 国产精品久久久久久久四虎电影 | 日韩精品羞羞答答 | 亚洲精中文字幕二区三区 | jizzyouxxxx| 久草干 | 一级免费a | 日韩黄色一区 | 欧美日本免费一区二区三区 | 女18一级大黄毛片免费女人 | 96视频在线免费观看 | 国产精品剧情一区二区在线观看 | 久久露脸国语精品国产91 | 毛片免费视频在线观看 | www国产成人免费观看视频,深夜成人网 | 亚洲成人精品在线 | 精精国产xxxx视频在线播放7 | 欧美日韩在线看片 | 国产一区二区三区在线免费 | 国产成人精品无人区一区 | 国产午夜探花 | 国产欧美亚洲精品 | 免费日本一区二区 | 成人在线视频免费播放 | 中国黄色一级生活片 | 欧美a v在线 | 久久艹逼|