iOS 面试题~RunLoop和线程的关系?runloop的mode作用是什么?

//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄


一、RunLoop和线程的关系:


1.RunLoop 作用就是来管理线程的,当线程的 RunLoop开启后,线程就会在执行完任务后,处于休眠状态,随时等待接受新的任务,而不是退出。


2.只有主线程的RunLoop是默认开启的,所以程序在开启后,会一直运行,不会退出。其他线程的RunLoop如果需要开启,就手动开启,


二、runloop内部是如何实现的:

1、有一个判断循环的条件,满足条件,就一直循环

2、线程得到唤醒事件被唤醒,事件处理完毕以后,回到睡眠状态,等待下次唤醒


二、runloopmode作用是什么?:


1.model 主要是用来指定事件在运行循环中的优先级的,分为:

* NSDefaultRunLoopModekCFRunLoopDefaultMode):默认,空闲状态

* UITrackingRunLoopMode                       ScrollView滑动时

* UIInitializationRunLoopMode                 :启动时

* NSRunLoopCommonModeskCFRunLoopCommonModes):Mode集合


2.苹果公开提供的 Mode有两个:

1. NSDefaultRunLoopModekCFRunLoopDefaultMode

2. NSRunLoopCommonModeskCFRunLoopCommonModes


谢谢!!!

你可能感兴趣的:(iOS,面试题,iOS,runtime,和,runloop)