iOS runloop讲解

来源:互联网 发布:wine 网络 编辑:程序博客网 时间:2024/05/16 15:25
: Runloop结合多线程
   
 //1. 什么是runloop?
   
 //runloop运行循环, 循环处理线程中的任务, 负责任务中的调度和执行
   
 //2.每个线程中, 无论是主线程还是子线程, 系统都默认帮我们创建了runloop,主线程中的runloop是默认打开的, 而子线程中的runloop是默认关闭的
    //3.runloop的底层实现: 有一个定时源和输入源, 定时源的作用是: 通过一定的时间间隔, 来循环监听自身线程中的任务变化, 比如有没有触摸事件. 输入源的作用:处理来自别的线程的任务, 用来进行线程通信(主线程回到子线程, 子线程回到主线程).



 //runtime讲解
   
 //1. 是什么?
   
 //1.1runtime是一套比较底层的纯C语言的API, runtime就是一个库, 一个C语言库, 包含了许多底层操作的C语言API
   
 //1.2平时我们编写的OC代码, 在程序运行期间, 其实最终都经过runtime转成了C语言代码, runtimeOC幕后工作者, 是整个OC的底层
   
 //1.3举例:
   
 //Student *stu = [[Student alloc] init];经过runtime被编译成objc_msgSend(objc_msgSend("Student", "alloc"), "init");
   
 //objc_msgSend其实就是向某个对象发送什么消息
   
 //2.用过吗? 怎用?
   
 //2.1runtime属于OC底层, 可以进行非常底层的操作eg.
   
 //*在程序中运行过程中,动态创建一个类, (KVO)
   
 //*向类中动态添加方法, 添加属性
    //*遍历一个类中的所有属性和实例变量
0 0
原创粉丝点击