老师,想问下关于自旋锁的问题?

来源:8-6 多线程与锁相关面试问题&面试总结

PeterSix3244453

2018-04-08

老师,这个自旋锁不释放资源的该怎么理解呢?是指锁释放了,资源还不释放吗?锁这块的理解不是太好。。

写回答

1回答

于海

2018-04-08

正常情况下一个线程如果获得不到锁会将自己阻塞,释放自身占有的资源,等其他线程释放锁,然后阻塞的线程会被唤醒

自旋锁的特点就是当无法获得锁的时候,不释放自身资源,也不阻塞,而是采取类似while循环的方式不断地询问当前锁是否释放了,一旦释放立刻占有。
自旋锁常见的应用场景适合简单的轻量数据访问,比如引用计数的加一减一操作

0
1
PeterSix3244453
谢谢老师
2018-04-08
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程