问题1: 老师,自适应自旋锁 他是 自旋锁的一个加强版,自旋锁是我一直处理忙循环状态直到获取到锁, 自适应自旋锁是比如我先设定忙循环100次后,那么停止自旋去尝试获取锁,如果100次之后还是没有锁,那么他就会根据相关数据比如锁用户状态来判定,下一次自旋次数是多少次 是这么理解吗?
问题2 :比如一个线程过来自旋1000次,当锁资源在 自旋99次的时候已经被释放了,那么他还是要自旋1000次之后,才开始抢夺锁资源吗?同样的自适应自旋锁可能会优化一下, 可能自旋的不是1000次,有可能优化自旋300次,那也是等待300次之后才可以进行锁的争抢吗?
问题3:无论自旋锁和自适应自旋锁如果是一直没有获取到锁资源,都是会一直处于自旋状态,自适应自旋锁不会说因为我判断可能要等好久,而将线程挂起,这么理解吗?