文档章节

GCD的其他用法

JlongTian
 JlongTian
发布于 2016/01/08 21:14
字数 206
阅读 46
收藏 2

1.延时操作

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    // 2秒后异步执行这里的代码...
    
});

2.一次性代码

  使用dispatch_once函数能保证某段代码在程序运行过程中只被执行1次 
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
    // 只执行1次的代码(这里面默认是线程安全的)
  });

3.队列组

  • 首先,分别执行两个耗时操作

  • 等两个异步操作都执行完之后,再回到主线程执行操作

  如果想要快速高效地实现上述需求,可以考虑用队列组 
  
  dispatch_group_t group =  dispatch_group_create();
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // 执行1个耗时的异步操作
});

dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // 执行1个耗时的异步操作
});

dispatch_group_notify(group, dispatch_get_main_queue(), ^{
    // 等前面的异步操作都执行完毕后,回到主线程...
});


© 著作权归作者所有

下一篇: iOS多线程之GCD
JlongTian
粉丝 3
博文 310
码字总数 151017
作品 0
深圳
程序员
私信 提问
iOS NSThread、NSOperation与GCD

一、NSThread线程 优点: NSThread 比其他两个轻量级、使用方便、简洁。 缺点: ①需要自己管理线程的生命周期。 ②线程同步,线程同步对数据的加锁会有一定的系统开销 NSThread线程的使用:...

IamOkay
2018/01/15
70
0
传智播客学习笔记 网络多线程

主线程处理UI,避免耗时操作 iOS多线程技术有4种 pthread,通用技术,跨平台 c语言,程序员管理生命周期,几乎不用 NSThread 面向对象,可以直接操作线程 OC语言 程序员 管理生命周期,偶尔使...

云飞扬v5
2015/08/11
40
0
iOS 多线程之NSOperation篇举例详解

  这篇博客是接着总篇iOS GCD NSOperation NSThread等多线程各种举例详解写的一个支篇。总篇也包含了此文的链接。本文讲解的知识点有NSBlockOperationClick,队列,队列中如何加Operation...

张林峰
2016/06/22
12
0
iOS多线程全面解读(二):GCD

写在前面 本系列文章列表 概述、NSThread GCD NSOperation 锁 GCD(Grand Central Dispatch)是iOS4引入的强大的线程处理技术,它是基于XNU内核开发的,性能极为优越。 GCD是最受欢迎的多线程...

indulge_in
2017/11/30
0
0
iOS多线程全面解读(三):NSOperation

写在前面 本系列文章列表 概述、NSThread GCD NSOperation 锁 NSOperation是基于GCD的面向对象封装,在各大开源库里面我们常常看到它的身影。它的使用很简单易懂,基本上你点进Api就会用了,...

indulge_in
2017/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
49分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
51分钟前
7
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
53分钟前
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
59分钟前
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部