同步监视器

同步块

  1. synchronized(Obj){}

  2. Obj被称为同步监视器

  3. Obj可以是任何对象,但是推荐使用共享资源作为同步监视器

  4. 同步方法中无需指定同步监视器,因为同步方法的同步监视器是this,就是这个对象本身,或者是class

同步监视器执行过程:

  1. 第一个线程访问,锁定同步监视器,执行其中代码

  2. 第二个线程访问,发现同步监视器被锁定,无法访问

  3. 第一个线程访问完毕,解锁同步监视器

  4. 第二个线程访问,发现同步监视器没有锁,然后锁定并访问


版权声明:本文为m0_46406255原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。