多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術(shù) > iOS 開發(fā)之多線程之GCD

iOS 開發(fā)之多線程之GCD

來源:程序員人生   發(fā)布時間:2014-12-13 08:52:03 閱讀次數(shù):3201次

1.GCD(Grand Centrol Dispath)

并行:宏觀和微觀都是兩個人再拿著兩把鐵鍬在挖坑,1小時挖兩個大坑

并發(fā):宏觀上是感覺他們都在挖坑,微觀是他們是在使用1把鐵鍬挖坑,1小時后他們挖了兩個小坑。

總結(jié):就單個cpu來講,大部份進程是并發(fā)進行的,就是1把鐵鍬,你1下我1下,只是間隔時間較短,用戶感覺不到而已。


利用

GCD包括:

(1)實際使用中( 而系統(tǒng)默許就有1個串行隊列main_queue和并行隊列g(shù)lobal_queue:

[cpp] view plaincopy
  1. dispatch_queue_t globalQ = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);  
  2. dispatch_queue_t mainQ = dispatch_get_main_queue();  
)

//dispatch_get_global_queue(0, 0)第1個0是優(yōu)先級,第2個保存字段
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        //在這里可以是數(shù)據(jù)要求
         NSString* result = [self requestData:parameter];
        //在這里返回主線程刷新數(shù)據(jù)
        dispatch_async(dispatch_get_main_queue(), ^{
            [mainTableView reloadData];
        });
    });

舉例說明:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSURL * url = [NSURL URLWithString:@"http://www.baidu.com"];
    NSError * error;
    NSString * data = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
    if (data != nil) {
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"call back, the data is: %@", data);
        });
    } else {
        NSLog(@"error when download:%@", error);
    }
});


(2)也能夠自己創(chuàng)建(我是不怎樣用)

串行隊列,顧名思義,1串嘛,那就得并發(fā)履行嘍

//自己創(chuàng)建serial queue
    dispatch_queue_t queue = dispatch_queue_create("com.class15.queue", DISPATCH_QUEUE_SERIAL);
    //異步履行線程
    dispatch_async(queue, ^{
        NSLog(@"任務(wù)1:%@  %d", [NSThread currentThread],[NSThread currentThread].isMainThread);
    });



并行隊列通過dispatch_get_global_queue獲得,由系統(tǒng)創(chuàng)建3個不同優(yōu)先級的dispatch queue

//創(chuàng)建自己的隊列
    dispatch_queue_t queue = dispatch_queue_create("com.class15.comcrrentQueue", DISPATCH_QUEUE_CONCURRENT);
    
    dispatch_async(queue, ^{
        NSLog(@"任務(wù)1:%@  %d", [NSThread currentThread],[NSThread currentThread].isMainThread);
    });

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲国产欧美在线人成精品一区二区 | 欧美一区二区三区在线观看不卡 | 欧美一级日韩一级 | 日本韩国一区二区三区 | 国内自拍视频网站 | 97久久精品午夜一区二区 | 亚洲国产高清人在线 | 日本三级黄视频 | 最新69成人精品毛片 | 国产性一交一乱一伦一色一情 | 国产成人精品视频在放 | 亚洲 春色 古典 小说 自拍 | 91视频影院 | 亚洲一区二区免费视频 | 一区二区三区四区五区六区 | 爱爱小视频在线观看网站 | 欧美日韩大尺码免费专区 | 国产精品二区高清在线 | 亚洲综合视频网 | 羞羞视频免费入口 | 性欧美高清极品猛交 | 亚洲一区二区三 | 久久国产综合 | 亚洲天堂网视频 | 国内视频自拍在线视频 | 欧美a色爱欧美综合v | 午夜羞羞视频在线观看 | 亚洲国产精品人久久 | 日韩欧美久久一区二区 | 欧美成人免费高清二区三区 | 特级做爰片毛片在线播放 | 日韩中文字幕久久精品 | 欧美成人免费一区在线播放 | 国产精品99久久久久久夜夜嗨 | 欧美在线一级va免费观看 | 无人精品乱码一区二区三区 | 高清视频一区二区三区 | 在线爽| 在线激情 | 欧洲美女人牲交一级毛片 | 有码视频在线观看 |