Lock

Demo: https://github.com/zColdWater/locker

iOS 中常见的"锁"

开发当中我们经常会使用到锁来控制 线程安全问题

  • semaphore: 信号量 (当限制并发线程=1时,可以当作锁来使用)

  • nslock: 互斥锁

  • conditionLock: 条件锁

  • recursiveLock: 递归锁

  • pthread_mutex: 互斥锁

  • os_unfair_lock: 自旋锁

  • condition: 条件锁

  • barrier: 栅栏函数

使用说明

总结

看完上面的“锁”再问你如何把任务在各个线程中按照一定顺序执行你会说有多少种。

  1. GCD Group

  2. NSOperation

  3. GCD Barrier

  4. 串行任务队列 一个一个顺序执行

  5. NSLockCondition 条件锁

  6. NSCondition 条件锁

等等 是不是太多,下回在遇到多线程中处理任务就不会慌张了。

最后更新于

这有帮助吗?