iOS面试题

iOS底层面试题--RunLoop

2018-11-25  本文已影响6人  ptlCoder
d1d2218ecb3b8dfbab4c42db47b6263e.png
面试题的答案都是抛砖引玉,具体细节还得深入了解iOS底层原理

1、什么是RunLoop?

2、RunLoop与线程关系?

3、RunLoop的运行逻辑?

image
3.1、各种事件解析

3.2、运行逻辑
01、通知Observers:进入Loop
02、通知Observers:即将处理Timers
03、通知Observers:即将处理Sources
04、处理Blocks
05、处理Source0(可能会再次处理Blocks)
06、如果存在Source1,就跳转到第8步
07、通知Observers:开始休眠(等待消息唤醒)
08、通知Observers:结束休眠(被某个消息唤醒)
01> 处理Timer
02> 处理GCD Async To Main Queue
03> 处理Source1
09、处理Blocks
10、根据前面的执行结果,决定如何操作
01> 回到第02步
02> 退出Loop
11、通知Observers:退出Loop

上一篇下一篇

猜你喜欢

热点阅读