Java高并发公开课 课件.pdfVIP

  • 18
  • 0
  • 约1.42万字
  • 约 12页
  • 2021-04-25 发布于新疆
  • 举报
Java ⾼并发公开课 第⼀章. 可重⼊锁ReentranLock 1. 可重⼊锁(递归锁) ①. 指的是同⼀线程外层函数获得锁后,再进⼊该线程的内层⽅法会⾃动获取锁( 前提,锁对象是同⼀个对 象) q进⼊厕所、厨房等 ②. Java中ReentranLock(显示锁)和synchronized(隐式锁)都是可重⼊锁,可重⼊锁的⼀个优点是可 在⼀定程度避免死锁 ③. 隐式锁: (即synchronized关键字使⽤的锁)默认是可重⼊锁(同步块、同步⽅法) 原理如下:掌握 1. 每个锁对象拥有⼀个锁计数器和⼀个指向持有该锁的线程的指针 2. 当执⾏monitorenter时,如果⽬标锁对象的计数器为零,那么说明它没有被其他线程持有,Java虚拟机 会将该锁对象的持有线程设置为当前线程,并且将其计数器加1,否则需要等待,直⾄持有线程释放该 锁 3. 当执⾏monitorexit时,Java虚拟机则锁对象的计数器减1。计数器为零代表锁已经被释放 1 //1.同步块 2 public class SychronizedDemo { 3 Object object=new Object(); 4 5 public void sy

文档评论(0)

1亿VIP精品文档

相关文档