自旋锁和非自旋锁超简洁描述

  1. 自旋锁:是指当一个线程在获取锁失败时将一直循环等待,不断重新获取锁,直到获取到锁才会退出循环,自旋锁会让线程一直处于用户态,不会发生上下文切换,

  2. 非自旋锁获取锁失败会进入阻塞状态,从而进入内核态

  3. 上下文切换是非常耗时的,当同步代码块/临界区的内容并不多且并发度不是很高时,使用自旋锁可以提高效率,否则使用自旋锁会白白消耗资源

猜你喜欢

转载自blog.csdn.net/pkhrig/article/details/120917190