线程安全问题?未解决

1.线程安全的产生的原因?

线程安全的问题 是在多线程下资源共享的数据被串改了 导致数据不准确,是在增,删,改 的操作用,然而查询不会

2.什么哪些数据会被线程共享?

3.在spring默认singleton单例模式下对共享资源的影响?

4.解决线程安全用到到的synalise关键字的作用?以及其他途径能改变线程安全的方法?

java 成员变量的线程安全

观点1:静态成员变量 的线程安全产生 在多线程的情况下

  非静态成员变量(也叫实例变量,需要类实例化后调用)正常情况下在多线程的时候不会存在线程安全问题,因为这个时候 类会对每个线程创建一个实例,问题就在,如果是单例模式的 @Bean 的时候 会存在线程安全的问题

  方法里边的局部变量不会,

疑问:synachronzed关键字 为什么放到方法中

  我的意思是 普通的不加static的实例方法,因为存在单例的情况

  • 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
  • 静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
  • 修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。

线程同步:

  同步 不是一起动作,这个同是协同相互配合;所以线程同步是,线程之间按顺序依次执行。

原文地址:https://www.cnblogs.com/nextgg/p/15577731.html