IOS-Run loop学习总结】的更多相关文章

http://blog.csdn.net/libaineu2004/article/details/45364737 一.Runloop简介: Run loops 是线程相关的的基础框架的一部分.一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件. 使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态. Runloop还可以在loop在循环中的同时响应其他输入源,比如界面控件的按钮,手势等. Run loop 接收输入事件来…
RUN Loop是什么? 1.runloop是事件接收和分发机制的一个实现. 2.什么时候使用runloop 当需要和该线程进行交互的时候.主线程默认有runloop.当自己启动一个线程,如果只是用于处理单一的事件,则该线程在执行完之后就退出了.所以当我们需要让该线程即监听某项事务事,就得让线程一直不退出,runloop就是这么一个循环,没有事件的时候,一直卡着,有事件来临了,执行其对应的函数 3.run loop需要处理的event source 有两种:input sources(常是其…
前言 多线程的价值无需赘述,对于App性能和用户体验都有着至关重要的意义,在iOS开发中,Apple提供了不同的技术支持多线程编程,除了跨平台的pthread之外,还提供了NSThread.NSOperationQueue.GCD等多线程技术,从本篇Blog开始介绍这几种多线程技术的细节. 对于pthread这种跨平台的多线程技术,这本Programming with POSIX Threads做了详细介绍,不再提及. NSThread 使用NSThead创建线程有很多方法: +detachNe…
做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情.想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措.废话少说,进入今天的正题. 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生.给我们的感觉就像应用一直处于随时…
1.概述 (1) Run Loop提供了一种异步执行代码的机制,不能并行执行任务. (2) 在主队列中,Main Run Loop直接配合任务的执行,负责处理UI事件.计时器,以及其它内核相关事件. (3) Run Loop的主要目的是保证程序执行的线程不会被系统终止. Run Loop的工作特点: (1) 当有事件发生时,Run Loop会根据具体的事件类型通知应用程序做出响应. (2) 当没有事件发生时,Run Loop会进入休眠状态,从而达到省电的目的. (3) 当事件再次发生时,Run…
之前开发过程中经常会有需求会使用 NSObject中的"performSelector:withObject:afterDelay:"做方法延迟执行的处理, 但是 还没有什么地方需要实现 取消 这个延迟执行方法"cancelPreviousPerformRequestsWithTarget:".(具体可参见系统库文件 NSOject里面两个方法的声明). 但是 我们应该知道在什么条件下,合理使用 延迟 与 取消延迟. 延迟 和 取消延迟 应该 在同一个 事件处理循环…
转自标哥的技术博客(www.henishuo.com) 前言 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情.想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措.废话少说,进入今天的正题. 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候…
不知道大家有没有想过这个问题,一个应用開始执行以后放在那里,假设不正确它进行不论什么操作.这个应用就像精巧了一样,不会自发的有不论什么动作发生.可是假设我们点击界面上的一个button.这个时候就会有对应的button响应事件发生.给我们的感觉就像应用一直处于随时待命的状态.在没人操作的时候它一直在歇息,在让它干活的时候,它就能立刻响应.事实上,这就是run loop的功劳. 一.线程与run loop 1.1 线程任务的类型 再来说说线程.有些线程执行的任务是一条直线,起点到终点:而还有一些线…
Run loops是线程的基础架构部分.一个run loop就是一个事件处理循环,用来不停的调配工作以及处理输入事件.使用run loop的目的是使你的线程在有工作的时候工作,没有的时候休眠. Run loop的管理并不完全是自动的.你仍必须设计你的线程代码以在适当的时候启动run loop并正确响应输入事件.Cocoa和CoreFundation都提供了run loop对象方便配置和管理线程的run loop.你创建的程序不需要显示的创建run loop:每个线程,包括程序的主线程(main…
做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情.想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措.废话少说,进入今天的正题. 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生.给我们的感觉就像应用一直处于随时…