线程锁学习笔记
2015-12-07 本文已影响192人
嘿晴天
1.NSRecursiveLock 递归锁
递归锁可以被同一线程请求多次,而不会引起死锁(是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去)
下面来看一个使用死锁的案例(没有使用递归锁)
![](https://img.haomeiwen.com/i1306084/ee8c9b35a09d3af9.png)
在看看日志
![](https://img.haomeiwen.com/i1306084/cb5121cb57b2e505.png)
很明显卡死在 打印5 就被锁住
在来看看使用递归锁的效果如何
![](https://img.haomeiwen.com/i1306084/b4516fe656890488.png)
日志打印效果如何
![](https://img.haomeiwen.com/i1306084/96ff71e81684ade8.png)
这是第一篇就简单就先写到这里,接下来会有一些更深入的笔记