美文网首页
2020-07-06 面试总结

2020-07-06 面试总结

作者: Dejauu | 来源:发表于2020-07-09 17:03 被阅读0次

    浪费了这次机会,也许是好事
    1.gcd qos的影响
    答的 实际没啥影响,实际确实基本用的 默认 参数,其实自己定义多种优先级有一些影响

    2.osspinLock不安全的原因
    优先级翻转问题:


    image.png

    当低优先级线程获得锁的时候,中优先级去获取了运行权,再有高优先级线程获取运行权,等待之前的自旋锁释放,但低优先级线程没有机会释放锁。
    看起来就像是中优先级的线程更优先。这叫优先级反转。

    解决方法:
    1.优先级天花板:也就是获取共享资源(上锁)时,提升当前线程到最高优先级
    2.优先级继承:在获取共享资源(上锁)时,比较占用共享资源的线程优先级,临时提高优先级


    image.png

    3.如何避免线程爆炸
    之前没接触,查到文章是使用dispath_apply做多个线程的处理,之前用户这个函数做实验查数速度。但是实际项目当中还是要再深入思考这个问题。面试官推荐我看 wwdc session了解下。
    有个库之后可以试下:KKThreadMonitor

    4.算法 输入升序降序数组 输出 升序数组
    怪异的问题,不知为啥这么出,正常暴力算法就可以。 优化方案当时没想出,用栈可以在弹出上做手段优化到O(n)

    相关文章

      网友评论

          本文标题:2020-07-06 面试总结

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