国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

GCD常用方法

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

1.延遲操作

2.一次性代碼

3.隊列組

/** *  延遲執行 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{  // 2秒后異步執行這里的代碼...  });  延遲執行:不需要再寫方法,且它還傳遞了一個隊列,我們可以指定并安排其線程。  如果隊列是主隊列,那么就在主線程執行,如果隊列是并發隊列,那么會新開啟一個線程,在子線程中執行。 */-(void)test1 {    NSLog(@"打印當前線程---%@",  [NSThread currentThread]);             //延遲執行,第二種方式          //可以安排其線程(1),主隊列          dispatch_queue_t queue= dispatch_get_main_queue();         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), queue, ^{                 NSLog(@"主隊列--延遲執行------%@",[NSThread currentThread]);             });             //可以安排其線程(2),并發隊列         //1.獲取全局并發隊列         dispatch_queue_t queue1= dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);        //2.計算任務執行的時間         dispatch_time_t when=dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC));         //3.會在when這個時間點,執行queue中的這個任務         dispatch_after(when, queue1, ^{                 NSLog(@"并發隊列-延遲執行------%@",[NSThread currentThread]);             });}
/** *  2.使用dispatch_once一次性代碼  使用dispatch_once函數能保證某段代碼在程序運行過程中只被執行1次  static dispatch_once_t onceToken;  dispatch_once(&onceToken, ^{  // 只執行1次的代碼(這里面默認是線程安全的)  });  整個程序運行過程中,只會執行一次。 */- (void)test2 {    static dispatch_once_t onceToken;         dispatch_once(&onceToken, ^{                 NSLog(@"該行代碼只執行一次");             });}
/** *  隊列組 */- (void)test3 {        dispatch_group_t group =  dispatch_group_create();        dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{                // 執行1個耗時的異步操作            });        dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{                // 執行1個耗時的異步操作            });        dispatch_group_notify(group, dispatch_get_main_queue(), ^{                // 等前面的異步操作都執行完畢后,回到主線程...(結果處理)            });}

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠东县| 东阳市| 香河县| 驻马店市| 肥乡县| 诸城市| 丰顺县| 梅河口市| 鹰潭市| 井陉县| 中江县| 探索| 湄潭县| 固阳县| 忻州市| 大安市| 望都县| 内丘县| 温宿县| 武鸣县| 桂东县| 会泽县| 大悟县| 托里县| 樟树市| 尼木县| 克什克腾旗| 鄂尔多斯市| 武义县| 五大连池市| 阿拉尔市| 永年县| 康乐县| 邳州市| 武清区| 营山县| 香河县| 赣榆县| 通山县| 石林| 封丘县|