RunTime 和 RunLoop 简单总结

RunLoop

一个线程执行一个任务,执行完成后退出。RunLoop就是执行完之后不退出,重复执行

RunLoop实际上就是一个对象。这个对象管理了需要处理的事件和消息,并提供了入口函数来执行Event Loop的逻辑。线程执行了这个函数后,就会一直处于这个函数内部“接受消息>等待>处理”,知道这个循环结束,函数返回。

OSX/iOS 提供了两个这样的对象 NSRunLoop 和 CFRunLoopRef

RunTime

C函数调用在编译的时候会决定调用哪个函数,编译完成之后顺序执行。

OC 的函数调用成为消息发送,属于动态调用过程。编译时并不能决定调用哪个函数。真正运行的时候才会根据函数名查找对应的函数调用

objc_msgSend(obj,@selector(makeText));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:http://blog.ibireme.com/2015/05/18/runloop/ RunLoop ...
    大饼炒鸡蛋阅读 1,181评论 0 6
  • Runloop 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用A...
    GitHubPorter阅读 6,083评论 7 17
  • runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...
    made_China阅读 1,226评论 0 7
  • runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...
    SOI阅读 21,848评论 3 63
  • 这两天都有写一点东西,没有什么价值的东西,发在微信的公众号上,一个没人关注的公众号。 今天也没什么东西写。心情不好...
    男青年阅读 200评论 0 0