NSThread和dispatch_async用法和区别
来源:互联网 发布:其孰能讥之乎的其 编辑:程序博客网 时间:2024/06/06 02:34
参考:http://www.cocoachina.com/bbs/read.php?tid=63541&page=2
//启动线程
// [NSThread detachNewThreadSelector:@selector(downloadImage:) toTarget:self withObject:ImageURL];
dispatch_queue_t newThread = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(newThread, ^{
[self downloadImage:ImageURL];
});
//
2、dispatch_async调度本身是有开销的,因此你把[activity startAnimating];放在最上面是不妥的。最好的方式是用一个标志,等待download这个函数所处的核被激活后调。
3、NSThread的方式或许能做更快的切换,因为ARMv6或更高版本的处理器都提供了非常强大的线程切换机制。但是NSThread不会采取多核的分派,因为这个系统接口首先要保证的是用户线程的可靠性。
而Grand Central Dispatch显式地利用分派队列来做多核分派调度,因此如果是在多核处理器上的话用G_C_D更快。
如果你的处理器是单核心的话,那么可以使用切换更快的NSThread。
0 0
- NSThread和dispatch_async用法和区别
- NSThread和dispatch_async用法和区别
- NSThread和dispatch_async用法和区别
- NSThread和dispatch_async用法和区别
- NSThread和dispatch_async用法和区别
- dispatch_async用法和区别
- dispatch_async 和 dispatch_sync 的区别
- dispatch_sync和dispatch_async的区别
- GCD dispatch_sync和dispatch_async
- dispatch_async和performSelector
- dispatch_sync和dispatch_async
- dispatch_async 和dispatch_sync GCD
- dispatch_async和dispatch_sync在dispatch_get_main_queue上的区别
- GCD编程dispatch_sync(同步)和dispatch_async(异步)方式执行并发队列任务区别
- GCD学习(六) dispatch_async 和dispatch_sync
- GCD学习(六) dispatch_async 和dispatch_sync
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别:
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别
- wpf 中Button 边框闪烁
- IOS7官方推荐图标和图像尺寸
- 【计算几何】 HDOJ 5017 Ellipsoid
- ios 利用通知处理键盘的显示与隐藏
- SoundPool-代替MediaPlayer-播放音效
- NSThread和dispatch_async用法和区别
- hdu 1730 Northcott Game (nim博弈变形)
- JS中Top、clientTop、scrollTop、offsetTop各属性介绍
- Java中利用synchronized关键字实现多线程同步问题
- 协程原理分析
- android webkit学习笔记1---url的load过程
- <详解>C语言实现程序跳转到绝对地址0x100000处执行
- 同花顺2015校园招聘笔试题
- 素数环(dfs)