问题是这样出现的,
首先我在一个java实体类中的属性顶一个Map类型的属性
我在线程中使用这个实体类时都是单独创建的,不存在共享的使用,按理来说不应该会受到其他线程的干扰
但是,真正在多线程中去修改这个实体类中的Map中的值的时候,每一个线程的这个实体类都是自己线程内部对象,会同时影响覆盖了其他线程的这个Map中的值,虽然无法理解,但是以后一定要注意不要再多线程使用Map,而应该使用concurrentMap,以此谨记这次教训。
欢迎分享,转载请注明来源:内存溢出
问题是这样出现的,
首先我在一个java实体类中的属性顶一个Map类型的属性
我在线程中使用这个实体类时都是单独创建的,不存在共享的使用,按理来说不应该会受到其他线程的干扰
但是,真正在多线程中去修改这个实体类中的Map中的值的时候,每一个线程的这个实体类都是自己线程内部对象,会同时影响覆盖了其他线程的这个Map中的值,虽然无法理解,但是以后一定要注意不要再多线程使用Map,而应该使用concurrentMap,以此谨记这次教训。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)