Objective-C 锁

多线程在Objective-C项目中占有很大的比重,它能提高程序的运行效率,但也因此带来线程安全问题。而锁就是解决线程安全问题最常用的武器。 

锁有很多种。

1、NSLock

同个线程,连续两次lock会死锁

NSRecursiveLock

pthread_mutex_t

GCD

信号量 

@synchronized

参见:https://www.cnblogs.com/yangwenhuan/p/9193840.html

性能最差 

OSSpinLock

自旋锁,性能最好,但是不安全,忙等待

加解锁100w,性能测试

性能差别不大

猜你喜欢

转载自www.cnblogs.com/yangwenhuan/p/9264338.html