iOS开发之GCD同步主线程、异步主线程
/** 在主线程执行block */
+ (void)gs_synExecuteOnMainThread:(void (^)(void))block {
if ((nil == block) || (NULL == block)) {
return;
}
if ([NSThread isMainThread]) {
block();
}else {
dispatch_sync(dispatch_get_main_queue(), ^{
block();
});
}
}
/** 在异步主线程执行block */
+ (void)gs_asynExecuteOnMainThread:(void (^)(void))block {
if ((nil == block) || (NULL == block)) {
return;
}
dispatch_async(dispatch_get_main_queue(), ^{
block();
});
}
iOS开发之GCD同步主线程、异步主线程的更多相关文章
- iOS 开发之 GCD 不同场景使用
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...
- iOS 开发之 GCD 基础
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...
- iOS开发之GCD基础
重新回顾.学习GCD.Block.先贴出一篇不错的讲解GCD基础使用的文章 原文地址:http://blog.csdn.net/aolan1108/article/details/17283415 做 ...
- iOS开发之GCD使用总结
GCD是iOS的一种底层多线程机制,今天总结一下GCD的常用API和概念,希望对大家的学习起到帮助作用. GCD队列的概念 在多线程开发当中,程序员只要将想做的事情定义好,并追加到DispatchQu ...
- iOS开发之GCD
GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制.它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务. GCD中的FIFO队列称为 ...
- iOS开发之GCD总结
直接贴出常用的函数,方便要用的时候直接使用. ------------- type 1 ---------------- 说明 : 创建一个dispatch_group_t,每次网络请求前先 ...
- iOS多线程开发之GCD(死锁篇)
上篇和中篇讲解了什么是GCD,如何使用GCD,这篇文章将讲解使用GCD中将遇到的死锁问题.有兴趣的朋友可以回顾<iOS多线程开发之GCD(上篇)>和<iOS多线程开发之GCD(中篇) ...
- iOS多线程开发之GCD(中篇)
前文回顾: 上篇博客讲到GCD的实现是由队列和任务两部分组成,其中获取队列的方式有两种,第一种是通过GCD的API的dispatch_queue_create函数生成Dispatch Queue:第二 ...
- iOS多线程开发之GCD(中级篇)
前文回顾: 上篇博客讲到GCD的实现是由队列和任务两部分组成,其中获取队列的方式有两种,第一种是通过GCD的API的dispatch_queue_create函数生成Dispatch Queue:第二 ...
随机推荐
- Nginx CONTENT阶段 autoindex、index模块
L 66 autoindex 指令 syntax : on | off; default : off; context : http,server,location; autoindex_exact_ ...
- gd.so和php_gd2.so 有什么区别
1.关于gd与gd2有什么区别,可以参加以下的链接,简单来说gd2就是gd的更新版,可以处理更多图像类型 https://stackoverflow.com/questions/3035216/wha ...
- 2019余姚培训游记+ZJOJD2划水记
2019余姚培训游记 突然就想写一个... 注意:以下全是胡言乱语的自high,还有很多错别字 Day 0 来的比较早,早上就到了 上午把一本小说看完了,是一个年轻作者的处女作. 我觉得我第一本书一定 ...
- PHP7 中 ?? 与? :的区别
??是PHP7版本的新特性,它与?:的区别在哪里呢 ?? $b = $a?? $c ;相当于$b= isset($a)?$a:$c; ?: $b = $a?$a: $c 则是 $b = !empty( ...
- IDEA升级版本后界面出现变小,字体变细的问题解决
笔者在今天升级了最新版本的IDEA 2019后发现,该版本的IDEA出现了非常诡异的事情如下图: 升级版本后字体居然发生了变化(通过官方导入的我自己的settings文件)还是出现了问题. 问题解决方 ...
- nginx 配置详解(转)
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- 纠错式教学法对比鼓励式教学法 -----Lily、贝乐、英孚,乐加乐、剑桥国际、优学汇、北外青少
一.关于两种英语教学法的争议 在英语教学方面,主要有纠错式教学法(目前主要对应国内听说读写四位一体的教学法)和鼓励式教学法(目前对应国内听说为主的教学法),这两种教学方法其实是各有千秋,各有利弊的. ...
- CF235B Let's Play Osu! 期望DP
貌似是一道很裸的期望\(DP\).直接说思路: 设\(f[i]\)表示到\(i\)位置时的期望分数,但是只有\(f[i]\)的话我们发现是无法转移的,我们还需要知道到\(i\)位置时的期望连续长度,于 ...
- 异常值处理outlier
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- Exp5 MSF基础应用
一.实践内容 1.主动攻击实践 [1]MS08-067 MS08-067 漏洞是2008 年年底爆出的一个特大漏洞,存在于当时的所有微软系统,杀伤力超强.其原理是攻击者利用受害主机默认开放的SMB 服 ...