怎么解决线程安全问题
我们不会上来就使用synchronlized
,synchronlized
会让程序的执行效率降低,用户体验不好,系统的用户吞吐两降低,在不得已的情况下再选择.
解决方案:
1.尽量使用局部变量代替"实例变量和静态变量"
2.如果必须是实例变量,那么可以考虑创建多个对象,这样实例变量的内存就不共享了,(一个线程对应一个对象,对象不共享,就没有数据安全问题)
3.如果不能使用局部变量,对象也不能创建多个,这个时候就只能选择synchronized
Q.E.D.
樱花庄的一只二刺猿
CodeAnime
·2021-10-06
·
怎么解决线程安全问题
我们不会上来就使用synchronlized
,synchronlized
会让程序的执行效率降低,用户体验不好,系统的用户吞吐两降低,在不得已的情况下再选择.
解决方案:
1.尽量使用局部变量代替"实例变量和静态变量"
2.如果必须是实例变量,那么可以考虑创建多个对象,这样实例变量的内存就不共享了,(一个线程对应一个对象,对象不共享,就没有数据安全问题)
3.如果不能使用局部变量,对象也不能创建多个,这个时候就只能选择synchronized
Q.E.D.