Java多个线程同时访问操作单例对象,需不需要加锁的问题

1、多个线程处理单例对象的共有属性

        如果两个线程同时访问同一个方法的时候,如果这个方法操作了单例对象中共有的属性,则需要加锁。

2、多个线程不是处理单例对象的共有属性(可能调用的是某个方法,该方法没有操作对象中的全局属性)

        多个线程如果不是同时处理一个对象的共有属性,则不会出现线程问题,即使是方法中的属性。

        如果两个线程同时访问同一个方法的时候,如果这个方法中没有共有的属性,则不需要加锁。

总结:

        操作共有属性,加锁;只是调用方法,没有操作共有属性,不加锁。

        方法中定义的局部变量在多线程下不会带来线程安全的问题。

 

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