Synchronize锁重入

Bertha 。 2022-05-15 01:49 278阅读 0赞

Synchronize锁重入

拥有锁重入的功能
就是在使用synchronize时,当一个线程得到了一个对象的锁之后
再次,请求该对象时,可以再次得到该对象的锁

  1. package com.bjsxt.base.sync005;
  2. /** * synchronized的重入 * */
  3. public class SyncDubbo1 {
  4. public synchronized void method1(){
  5. System.out.println("method1..");
  6. method2();
  7. }
  8. public synchronized void method2(){
  9. System.out.println("method2..");
  10. method3();
  11. }
  12. public synchronized void method3(){
  13. System.out.println("method3..");
  14. }
  15. public static void main(String[] args) {
  16. final SyncDubbo1 sd = new SyncDubbo1();
  17. Thread t1 = new Thread(new Runnable() {
  18. @Override
  19. public void run() {
  20. sd.method1();
  21. }
  22. });
  23. t1.start();
  24. }
  25. }

运行
这里写图片描述
说明
首先,调用synchronize修饰的method1
然后,再调用synchronize修改的method2
这样调用,没有任何问题,可以使用

发表评论

表情:
评论列表 (有 0 条评论,278人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Synchronize

    Synchronize锁重入 拥有锁重入的功能 就是在使用synchronize时,当一个线程得到了一个对象的锁之后 再次,请求该对象时,可以再次得到该对象的锁