美文网首页错误日志博客
多线程Runloop基本介绍

多线程Runloop基本介绍

作者: lyonLiu | 来源:发表于2016-09-23 14:38 被阅读21次

Runloop也称运行循环跑圈

RunLoop基本作用

1.保持程序的持续运行
2.处理App中的各种时间(比如触摸事件,定时器事件,selector事件)
3.节省CPU资源,提高程序性能该做事时做事,该休息时休息

如果没有RunLoop

int main(int argc,char *argv[]){
    NSlog(@"execute main function");-------程序开  始
    return 0;------程序结束
}

如果有Runloop

int main(int argc,char *argv[]){
    BOOL running = YES;
    do{
        //执行各种任务,处理各种事件
    }while(running);
  return 0;------程序结束
}

由于OC Main函数里面启动了RunLoop,所以程序并不会马上退出,会一直保持持续运行状态.

UIApplication Main函数内部启动了一个RunLoop,所以函数一直没有返回,保持持续运行状态
这个默认启动的RunLoop是跟主线程相关联的.

RunLoop对象


iOS中有2套API来访问和使用RunLoop,如下

Foundation框架中的NSRunLoop对象
Core Foundation框架中的CFRunloopRef

NSRunLoopCFRunloopRef都代表着RunLoop对象

NSRunLoop是基于CFRunloopRef的一层OC包装,所以要了解RunLoop内部结构,需要多研究CFRunLoopRef层面的API(Core Foundation

RunLoop参考资料


RunLoop苹果官方文档
CFCFRunLoopRef开源文档

相关文章

  • 多线程Runloop基本介绍

    Runloop也称运行循环、跑圈 RunLoop基本作用 1.保持程序的持续运行2.处理App中的各种时间(比如触...

  • iOS 多线程:『RunLoop』详尽总结

    本文用来介绍 iOS 多线程中,RunLoop 的相关知识。主要包括如下内容:RunLoop 简介RunLoop ...

  • ios面试题

    runtime介绍 runLoop与多线程关系 多线程原理(GCD、NSOperation) AFNetworki...

  • RunLoop

    1.Runloop基础知识 (RunLoop可以理解为就是为多线程而存在的) 1.1 RunLoop基本概念:运行...

  • Runloop:基本介绍

    什么是Runloop Runloop 顾名思义运行循环在程序运行过程中循环做一些事情 应用范畴 定时器(Timer...

  • iOS POSIX多线程编程

    关于多线程的介绍、多线程的创建、使用场景和Runloop可以参考《iOS多线程编程指南》。已上传到GitHub仓库...

  • Runloop

    Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。 Runloop 基本概念 Runl...

  • RunLoop的使用总结

    1、介绍RunLoop 什么是RunLoop 基本作用: 保持程序的持续运行,如果没有RunLoop,程序执行完m...

  • RunLoop的基本介绍

    RunLoop是iOS开发中的一个基础概念,一个程序运行后,你动则它动,你不动它不动,这种时刻待命的效果,就是Ru...

  • 实例化讲解RunLoop

    转自此处 实例化讲解RunLoop 之前看过很多有关RunLoop的文章,其中要么是主要介绍RunLoop的基本概...

网友评论

    本文标题:多线程Runloop基本介绍

    本文链接:https://www.haomeiwen.com/subject/mmbrettx.html