
iphone开发之多线程
文章平均质量分 88
more2010wei
2010年6月毕于厦门大学软件工程专业,从事移动互联Symbian开发一年多,转为ios开发,对C,C++和Object-C等语言有心得,热衷于技术,喜欢研究算法,具有开源精神!Knuth是我心中永远的神话!
展开
-
使用NSOperationQueue简化多线程开发
多线程开发是一件需要特别精心的事情,即使是对有多年开发经验的工程师来说。为了能让初级开发工程师也能使用多线程,同时还要简化复杂性。各种编程工具提供了各自的办法。对于iOS来说,建议在尽可能的情况下避免直接操作线程,使用比如NSOperationQueue这样的机制。可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中,一旦一个转载 2012-03-26 17:17:03 · 3509 阅读 · 0 评论 -
使用NSoperation多线程异步加载图片数据
NSoperation是ios封装好的的实现多线程的很简单的一种方法。定义ImageDownloader ,这个类继承NSOperation,因为需要并发,需要实现下面4个方法 ://是否允许并发,-(BOOL)isConcurrent ;-(BOOL)isExecuting;//是否已经完成,这个必须要重载,不然放在NSOperationQueue里的原创 2012-05-10 14:41:14 · 4941 阅读 · 0 评论 -
NSThread创建CFRunLoop
首先是文档对CFRunLoop部分的一个概述,可以帮助我们简单的了解一下CFRunLoop的主要的特性:OverviewA CFRunLoop object monitors sources of input to a task and dispatches control when they become ready for processing. Examples of input原创 2012-08-03 15:42:24 · 10533 阅读 · 1 评论 -
iOS并发编程指南
iOS Concurrency Programming GuideiOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取 asynchronous design approach 来解决并发的问题。引入的异步技术有两个:Grand Central Dispatch:系统管理线程,你不需要编写线程代码。只原创 2012-05-25 14:46:01 · 6530 阅读 · 1 评论 -
iOS 多线程 锁 互斥 同步
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全@synchronized(self){ // 这段代码对其他 @synchronized(self) 都是互斥的 // self 指向同一个转载 2013-02-04 14:49:52 · 56314 阅读 · 2 评论 -
AFNetworking2.0的源码解析
(via:bang's blog) 最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章。AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1。 本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构翻译 2014-09-02 10:41:25 · 7174 阅读 · 1 评论 -
OS X 和 iOS 中的多线程技术
多线程技术我们为何需要多线程呢?多线程其实是为了实现并发执行,而且线程是并发执行多个代码路径的多种技术之中比较轻量级的一种(对应较重的实现是多进程)。在单核 CPU 时代,支持多线程的操作系统会通过分配 CPU 计算时间,来实现软件层面的多线程。创建线程,线程间切换都是有成本开销的。但由于多线程可以避免阻塞所造成的 CPU 计算时间浪费,所以多线程所带来的开销成本总体看来是值得的。任务一般转载 2015-03-05 15:09:54 · 1620 阅读 · 0 评论