GCD線程延時

//swift中的線程延時

 let time: TimeInterval = 1.0
            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + time) {
                print("延時1秒執(zhí)行")
            }

//在主線程中延遲執(zhí)行某動作,不會卡主主線程,不影響后面的東做執(zhí)行

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3* NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

NSLog(@"%@", [NSThread currentThread]);

});

//在子線程中執(zhí)行某動作,不會卡主整個線程

dispatch_queue_t queue= dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3* NSEC_PER_SEC)), queue, ^{

NSLog(@"%@", [NSThread currentThread]);

});

//實現(xiàn)延遲,該線程本身在哪個線程中就再哪個線程中執(zhí)行

NSURL *url = [NSURL URLWithString:@"http://59320.jpg.com"];

[selfperformSelector:@selector(download:) withObject:url afterDelay:3];

//利用sleep實現(xiàn)延遲(不要用這個,會卡住主線程,即后面的動作不會執(zhí)行)

[NSThread sleepForTimeInterval:3];
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 多線程 在iOS開發(fā)中為提高程序的運行效率會將比較耗時的操作放在子線程中執(zhí)行,iOS系統(tǒng)進程默認啟動一個主線程,用...
    郭豪豪閱讀 2,721評論 0 4
  • 在這篇文章中,我將為你整理一下 iOS 開發(fā)中幾種多線程方案,以及其使用方法和注意事項。當然也會給出幾種多線程的案...
    張戰(zhàn)威ican閱讀 699評論 0 0
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,429評論 4 61
  • 姓名:陳芬 公司:寧波慈星股份有限公司 寧波盛和塾《六項精進》224期學員,利他二組學員 【日精進打卡第251天】...
    龍芬浩閱讀 165評論 0 0
  • 2017.05.13 今天的太陽很曬,心情很糟。獨自走在這座城市的街頭,一個人??粗柕?..
    糖炒栗子哦閱讀 367評論 0 2

友情鏈接更多精彩內(nèi)容