父类中定义了几个成员变量String类型 a,b,c,这个父类被几个子类共同继承了,各个子类中在构造器内初始化了a,b,c变量,问多线程调用每一个子类时会产生并发问题吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
首先,需要看你的这类是如何设计的,如果只是提供 了构造函数来初始化这几个成员变量,而没有提供外界修改方法如setA...等方法的话,那么你这个类就是线程安全的,因为对象的信息不可能被外界改变。
如果提供了修改方法,那么对于同一个对象,置于多线程访问条件下,就有可能出现数据不一致性问题。
其次,因为对象是存储在运行时数据区的堆中,是线程共享的,所以同一个对象如果可能同时被多个线程读、写操作时,就存在安全性问题。