码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 面试 runloop

时间:2015-08-08 18:11:04      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

转自:http://www.jianshu.com/p/41901fb416d6

什么是RunLoop?
从字面意思看:运行循环、跑圈
其实它内部就是do-while循环,在这个循环内部不断地处理各种任务(比如Source、Timer、Observer)
一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)
RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source、Timer、Observer,那么就直接退出RunLoop

自动释放池什么时候释放?
在RunLoop睡眠之前释放(kCFRunLoopBeforeWaiting)

在开发中如何使用RunLoop?什么应用场景?
开启一个常驻线程(让一个子线程不进入消亡状态,等待其他线程发来消息,处理其他事件)
在子线程中开启一个定时器
在子线程中进行一些长期监控

iOS 面试 runloop

标签:

原文地址:http://www.cnblogs.com/pencilCool/p/4713384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!