美文网首页
ios开发中runloop的理解

ios开发中runloop的理解

作者: CYG斗战佛 | 来源:发表于2018-04-02 16:18 被阅读0次

    runloop是一个运行循环,是用来管理线程的。如果没有线程的话,runloop也就没有存在的必要. 程序一启动就会开启一个主线程,主线程开完后就会跑起来一个跟主线程对应的runloop,runloop能保证主线程在程序运行期间不被销毁,线程会处于 “接收消息 -> 处理->等待”这个循环中,这个就是runloop保证的,保证线程在执行完任务后,便进入休眠状态,不会退出,随时等待新任务。

    runloop与线程的关系

    • 每条线程都有唯一个的一个与之对应的线程
    • 主线程的runloop系统默认启动,子线程的runloop需要主动开启

    runloop使用的时候

    开发中最常用的使用的困惑的地方,就是添加NSTimer的时候和scrollView的滚动不能共存的问题,因为runloop只能支持一种mode,当我们滚动的时候,runloop会自动切换到UITrackingRunLoopMode模式,定时器就停止了相应。解决办法有两种


    添加mode模式为占位模式

    相关文章

      网友评论

          本文标题:ios开发中runloop的理解

          本文链接:https://www.haomeiwen.com/subject/zthxhftx.html