
多线程
reylen
企业平台app开发
展开
-
dispatch_async 嵌套使用避免卡顿
dispatch_async 避免数据处理等耗时,采用异步多线程执行:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 耗时的数据处理等 dispatch_async(dispatch_get_main_queue(), ^{ // 更新UI原创 2015-07-22 17:15:38 · 3538 阅读 · 0 评论 -
GCD下 timer
在GCD中,我们不能正常的使用NSTimer了,在子线程中runloop默认是关闭的,我们可以通过食用gcd的timer相关实现: // 初始化一个gcd队列. dispatch_queue_t timerQueue = dispatch_queue_create("test_timer_queue", 0); // 创建 gcd timer. dispatch_sour原创 2016-01-18 16:24:08 · 1477 阅读 · 0 评论 -
GCD之dispatch_after、dispatch_apply、dispatch_once等使用介绍
dispatch_after dispatch_after(dispatch_time_t when, dispatch_queue_t queue, ^(void)block) when 时间间隔 queue 提交到的队列 block 执行的任务 使用如下: dispatch_after( dispatch_time(DISPATCH_TIME_NOW原创 2016-02-15 11:54:02 · 2254 阅读 · 0 评论 -
iOS-图文表并茂,手把手教你GCD
前言 对初学者来说,GCD似乎是一道迈不过去的坎,很多人在同步、异步、串行、并行和死锁这几个名词的漩涡中渐渐放弃治疗。本文将使用图文表并茂的方式给大家形象地解释其中的原理和规律。线程、任务和队列的概念 异步、同步 & 并行、串行的特点 一条重要的准则 一般来说,我们使用GCD的最大目的是在新的线程中同时执行多个任务,这意味着我们需要两项条件:能开启新的线程 任务可以同时执行 结合以上两个转载 2016-11-02 10:33:47 · 350 阅读 · 0 评论