成员变量:类内方法外的变量
由于Spring的bean是单例的,一个类的成员变量只有一份
job在不同的pod跑,每个pod都有一份job的代码,都有一份成员变量,
正常情况下是不会有问题的
但是 如果job任务在一个pod上跑了两遍(没有分布式锁)
第一遍可能跑了一半,第二个开始跑,他们可能同时操作这个成员变量,导致一系列问题
比如一个list集合
后边的任务可能读取是前边任务执行一半存的list,后边的任务也能对这个成员变量进行操作,
脏读,脏写
成员变量:类内方法外的变量
由于Spring的bean是单例的,一个类的成员变量只有一份
job在不同的pod跑,每个pod都有一份job的代码,都有一份成员变量,
正常情况下是不会有问题的
但是 如果job任务在一个pod上跑了两遍(没有分布式锁)
第一遍可能跑了一半,第二个开始跑,他们可能同时操作这个成员变量,导致一系列问题
比如一个list集合
后边的任务可能读取是前边任务执行一半存的list,后边的任务也能对这个成员变量进行操作,
脏读,脏写