java并发-锁的两种实现方式

原创
2019/12/15 10:31
阅读数 70

安装基本实现技术来看,Java中的锁实现互斥执行也就只有两类

  1.利用阻塞

    典型的实现就是synchronized的方式,这种方式就是jvm基本实现的方式,当一个线程获得锁之后切没有释放锁,那么第二个线程尝试获得锁将失败,加入等待队列,同时让出本次线程的时间片的调度,让其他线程执行。产生一个被阻塞的表象,其内部其实已经没有在执行。

  2.利用自旋

    利用cas原子操作构建等待队列,让未获得锁的线程一直死循环地重试获得锁,这种方式,没有产生线程的调度,但感觉比较浪费cpu计算资源。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部