美文网首页iOS知识体系总结
iOS知识体系总结-多线程

iOS知识体系总结-多线程

作者: Hinsverson | 来源:发表于2019-08-09 15:11 被阅读0次

    注意:更新内容会同步到GitHub iOSWiki-知识体系总结

    总结-多线程

    iOS知识点/操作系统 #iOS体系总结

    核心掌握

    基础

    进程是什么?有哪几种状态?进程和线程的区别?
    什么是并发?什么是并行?并发和并行的区别?
    你对多线程的理解?多线程的底层原理?主要应用?多线程的优缺点?
    iOS多线程有哪些实现方案?说说你的理解?
    NSThread(对应Swift中的Thread)内部实现的原理是什么?启动流程又是怎样的?2种初始化方法有什么区别?怎样实现一个常驻线程? 自定义Runloop的应用-线程保活
    多线程会有哪些安全隐患?一般有什么解决方案?
    死锁产生的条件有哪些?
    多线程间怎么通信?底层原理是什么?

    GCD

    GCD全面详解
    你对GCD的理解?
    创建一个GCD队列?各个参数有什么作用?
    GCD有哪几种队列?有什么特点?主队列和全局队列分别是什么队列?
    GCD队列的执行方式有什么区别?不同队列不同执行方式的区别?主队列异步执行多个任务会开启线程吗?为什么?
    GCD什么情况会发生死锁?原因是什么?这个原因是由于线程循环等待引起的还是队列?手写几种常见死锁情况?
    GCD任务提交方式有哪些?DispatchWorkItem 提交有什么好处?
    GCD延迟执行DispatchTime和DispatchWillTime有什么区别?
    你对DispatchSource的理解?用过哪些source?DispatchSourceProtocol常见方案的作用?手写一个?DispatchSourceTimer实现的定时器?它和timer比哪个更精准的?
    DispatchGroup的底层原理是什么?一般用在什么场景?有哪几种添加进组的方式,需要注意什么问题?
    Dispatch_barrier的理解?一般用在什么场景?
    DispatchSemaphore的理解?对信号量控制方法的理解?信号量底层原理又是怎样?一般用在什么场景?

    iOS 多线程同步、锁和文件读写

    iOS多线程同步方案有哪些?哪些锁的性能最好?
    GCD实现线程同步方案有哪几种?分别手写一个实例?
    iOS线程同步的各种锁的理解?有哪几种类型?高级锁和低级锁的区别?线程阻塞的2种方案区别是什么?使用锁的时候有哪些注意事项?
    OSSpinLock的理解?不安全的原因?怎样使用?
    os_unfair_lock的理解?怎样使用?
    pthread_mutex锁的理解?有哪几种类型?普通pthread_mutex锁需要注意哪些问题?原因是什么?怎么解决?
    pthread_mutex 递归锁的理解?应用场景?
    ::pthread_mutex 带条件锁的理解?wait和signal方法的理解?wait方法休眠时这个已加锁线程会放开锁吗?被唤醒时会自动加锁吗?signal方法调用后被唤醒的其他线程会立马持有锁吗?什么时候其他线程有机会持有锁?带条件pthread_mutex锁怎样使用?::
    NSLock和NSRecursiveLock的理解?怎样使用?
    NSCondition 条件锁的理解?怎样使用?
    NSConditionLock 条件锁的理解?常用方法的理解?怎样使用?
    文件读写安全方案(多读单写)有哪几种解决方案?pthread_rwlock的理解?怎样使用?DispatchBarrier(zha栅栏)怎样实现多读单写?

    PerformSelector相关

    PerformSelector详解
    你对PerformSelector几个方法的理解?哪几种方法是同步执行的?哪几种方法是异步执行的?
    同步执行的底层原理是怎样的?
    异步延迟执行底层原理又是怎样的?
    线程间通信方法底层原理是怎样的?waitUntildone有什么作用?inBackground方法会开启新线程吗?

    相关文章

      网友评论

        本文标题:iOS知识体系总结-多线程

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