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, ^{
});