阻塞或者唤醒一个 Java 线程是需要操作系统切换到内核态来完成的,这 常情况下锁获取失败就应该阻塞入队,但是有时候可能刚一阻塞,别的线程就释放锁了 do-while 循环。更底层来说自旋操作就是空转 CPU,执行一些无意义的指令,目的就是不让出 CPU 等待锁的释放 不放弃处理器的执行时间 自旋锁的实现原理是 CAS” Java 中的 synchronized 有偏向锁、轻量级锁、重量级锁,分别对应了锁只被一个线程持有、不同线程交替持有锁、多线程竞争锁三种情况。
点赞 评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务