Java并发多线程:JUC - 非静态方法的锁和静态方法的锁

非静态方法的锁是this,静态方法的锁是对应的class(如:String.class)

当线程A和线程B访问相同共享数据:

1、当线程A和线程B同属于非静态方法时,存在锁竞争问题

2、当线程A和线程B同属于静态方法时,存在锁竞争问题

3、当线程A属于非静态方法,线程B属于静态方法时,不存在锁竞争问题(当线程A和线程B访问不同的共享数据时,同样存在锁竞争)

    原文作者:java锁
    原文地址: https://blog.csdn.net/hnjsjsac/article/details/80870932
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞