摘要: 一、NSInvocationOperation二、NSBlockOperation三、NSOperation的其他用法四、自定义NSOperation1.上一讲简单介绍了NSThread的使用,虽然也可以实现多线程编程,但是需要我们去管理线程的生命周期,还要考虑线程同步、加锁问题,造成一些性能上的开销。我们也可以配合使用NSOperation和NSOperationQueue实现多线程编程,实现步骤大致是这样的:1> 先将需要执行的操作封装到一个NSOperation对象中2> 然后将NSOperation对象添加到NSOperationQueue中3> 系统会自动将NSOp 阅读全文
posted @ 2013-12-28 21:41 TianXiang.Liu 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 每个iOS应用程序都有个专门用来更新显示UI界面、处理用户触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法。iOS中有3种常见的多线程编程方法:1.NSThread这种方法需要管理线程的生命周期、同步、加锁问题,会导致一定的性能开销2.NSOperation和NSOperationQueue是基于OC实现的。NSOperation以面向对象的方式封装了需要执行的操作,然后可以将这个操作放到一个NSOperat... 阅读全文
posted @ 2013-12-28 21:24 TianXiang.Liu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 多线程技术 —— 通过并发提高程序的整体性能。进程 - 应用程序,负责开辟一块内存区域,供应用程序执行 每一个进程都默认有一个“主线程”线程 - 要执行的任务流 当有耗时操作时,可能需要在后台新建一个子线程,来单独处理这些耗时的操作,待操作完成之后,再更新UI界面。 如果不放在其他线程执行,会“阻塞”住主线程的执行,影响用户体验。注意:所有界面UI的更新操作,都必须在主线程上完成!提问:一般的应用程序最多能开多少条线程?回答:尽可能少得开线程,只有那些消耗时间,影响用于体验的操作,才会放到后台线程中执行,通常一个应用程序的子线程不应该超过20。无论使用哪种多线程技术都可以使用 [NSThrea 阅读全文
posted @ 2013-12-28 20:38 TianXiang.Liu 阅读(177) 评论(0) 推荐(0) 编辑