淺談GCD

GCD是蘋果公司卡開發的一個多核編程的解決方案,gcd和其它的多線程技術方案相比,使用起來更加簡單和方便。

//後臺執行的代碼dispatch_async(dispatch_get_global_queue(0, 0), ^{        
});    

dispatch_get_global_queue會開啓一個全局隊列,我們姑且理解爲,系統爲我們開啓的全局線程。

//主線程執行

dispatch_async(dispatch_get_main_queue(), ^{
       //主線程執行
    });

//一次性執行

static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
       //在這裏只能執行一次;
    });

//延遲兩秒執行

double delayInSeconds=2.0;
dispatch_time_t popTime=dispatch_time(DISPATCH_TIME_NOW, delayInSeconds*NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^{

    });

//GCD也有一些高級的用法

dispatch_queue_t urls_queue=dispatch_queue_create("myDispatch", NULL);
    dispatch_async(urls_queue, ^{

    });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章