GCD常用函數

  • 柵欄函數
    // 柵欄函數: 用來控制并發隊列的執行順序
    dispatch_barrier_async(queue, ^{
        NSLog(@"i'm a barrier");
    });

  • 延遲函數
- (void)delay{      // 在2.5s之后延遲執行run函數
    [self performSelector:@selector(run) withObject:self afterDelay:2.5];
}

- (void)run{
    NSLog(@"run");
}
  • 一次代碼
- (void)once{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        NSLog(@"once");
    });
}
  • 快速迭代
dispatch_apply(10, dispatch_get_global_queue(0, 0), ^(size_t index){
    // 執行10次代碼,index順序不確定
});
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 延遲執行 一次性代碼 柵欄函數 快速迭代 隊列組 定時器
    紅茶紳士閱讀 345評論 0 0
  • 1 一次性代碼 :1)在整個程序運行過程中只會執行一次 2)線程安全 2 延遲函數的使用:延長多時間去執行任務 3...
    LY2528閱讀 1,034評論 0 6
  • //延遲執行-(void)delay{NSLog(@"start-----");//1.延遲執行的第一種方法//[...
    BEYOND黃閱讀 233評論 0 3
  • 1. GCD延時執行 1.1 延時執行常用的方法有2種 分別是 performSelector 和NSTimer...
    WenJim閱讀 260評論 0 0
  • 關于 iOS 多線程中 GCD 的基礎知識已在上一篇文章中詳細說明,請參看《輕松學iOS多線程之 GCD 的基本使...
    BWLi420閱讀 603評論 2 8