美文网首页
Runloop与多线程

Runloop与多线程

作者: 应久 | 来源:发表于2019-03-21 09:29 被阅读0次


怎样保证子线程数据回来更新UI的时候不打断用户的滑动操作?

  用户滑动操作时runloop是运行在kCFRunLoopUITrackingMode下,网络请求一般放在子线程中,子线程返回给主线程的数据要抛回给主线程进行UI更新,把这部分的逻辑包装起来提交到主线程defaultMode下,这样进行mode隔离就避免了问题。

如何实现一个常驻线程:

1)创建一个runoop。

2)给runloop添加source/timer/observer事件以及port。

3)调用run方法。

注意:

运行的模式和资源添加的模式必须是同一个,否则可能由于外部使用while循环会导致死循环。

runLoop与线程是怎样的关系?

1)两者一一对应的关系

2)一个线程默认是没有runloop,需要手动加上runloop。

RunLoop面试总结:

什么是runloop,它是怎样做到有事做事,没事休息的?

1)runloop是一个事件循环用于处理事件消息和对他们的管理的对象。

2)在调用CFRunLoopRun方法中,会调用系统方法mach_msg,同时发生从用户态到内核态的切换,然后当前线程处于休眠状态,做到有事做事,没事休息。

相关文章

  • RunLoop

    概念 数据结构 事件循环机制 RunLoop 与 NSTimer RunLoop 与多线程 一、概念 RunLoo...

  • ios面试题

    runtime介绍 runLoop与多线程关系 多线程原理(GCD、NSOperation) AFNetworki...

  • RunLoop的使用

    RunLoop是什么? 它有什么作用?Runloop和多线程又是什么关系?timer 与 Runloop 有什么关...

  • RunLoop其实没有我们想的那么难

    目录一、纯纯的RunLoop(上小菜)二、RunLoop与多线程相结合使用(上大菜) 一、纯纯的RunLoop(上...

  • GeekBand - iOS 多线程和RunLoop 总结

    iOS 开发高级进阶 第三周 多线程 Runloop iOS 多线程以及 RunLoop 学习总结 基础知识 什么...

  • iOS 多线程:『RunLoop』详尽总结

    本文用来介绍 iOS 多线程中,RunLoop 的相关知识。主要包括如下内容:RunLoop 简介RunLoop ...

  • 22.iOS底层学习之多线程原理

    本篇提纲:1、线程与进程2、多线程3、多线程相关面试题4、线程安全问题5、线程与runloop的关系 线程与进程 ...

  • Runloop与多线程

    线程是和runloop一一对应的。自己创建的线程默认是没有runloop的。 思考 怎样实现一个常驻线程? 代码实...

  • Runloop与多线程

    怎样保证子线程数据回来更新UI的时候不打断用户的滑动操作? 用户滑动操作时runloop是运行在kCFRunLo...

  • RunLoop初探,满足项目的基本应用

    iOS开发肯定离不开多线程编程,而多线程又跟RunLoop有着密切的关系,这篇文章就来解剖下RunLoop。 每个...

网友评论

      本文标题:Runloop与多线程

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