zoukankan      html  css  js  c++  java
  • iOS 面试 runloop

    转自: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?什么应用场景?
    开启一个常驻线程(让一个子线程不进入消亡状态,等待其他线程发来消息,处理其他事件)
    在子线程中开启一个定时器
    在子线程中进行一些长期监控

  • 相关阅读:
    密文搜索
    poj 1182 食物链
    1147. Heaps (30)
    1146. Topological Order (25)
    1145. Hashing
    1142. Maximal Clique (25)
    fzu 2112 tickets
    51nod 1554 欧姆诺姆和项链
    codeforces 963B Destruction of a Tree
    hdu 3294 Girls' research
  • 原文地址:https://www.cnblogs.com/pencilCool/p/4713384.html
Copyright © 2011-2022 走看看