属性同步

在保持一个对象的属性同步变化时,有两种方法。

一个是在set方法里同步,一个是在get方法里同步。

 

如果是调用多次set、一次get的话,就在get里进行同步。

如果是调用一次set、多次get的话。就在set里进行同步。

都调用多次时,建议在set中进行同步,因为这样线程更安全。

 

例如对象中有一个Map属性和String属性是相关联的。

有些线程不安全的map在转成string时,由于每次读取的顺序都可能不一样,这会导致转出来的string可能不一样。

在get中进行同步,会进行多次转化,就会导致后面进行比较时会偶尔出错。

只在set里同步数据的话,就只对map进行一次读取,就不会因为线程不安全的原因出错。

posted @ 2020-12-31 10:56  缀满繁星的夜空  阅读(122)  评论(0)    收藏  举报