日期:2014-05-20  浏览次数:20593 次

java同步问题
java中当一个类的方法是修改全局变量,一个方法是读这个全局变量,当多线程操作时,一个线程在修改,一个在读取,需要对这两个方法进行同步操作吗???
本人菜鸟。。。

------解决方案--------------------
同步是最安全的。

不过如果你的场景比较单纯,那么如果说这个变量只是个基础类型,比如 int,也可以考虑简单点处理,全局变量用上 violate 关键字即可。

private static violate int value;
------解决方案--------------------
没太听懂,不过加把同步锁就好了,亲
------解决方案--------------------
探讨

同步是最安全的。

不过如果你的场景比较单纯,那么如果说这个变量只是个基础类型,比如 int,也可以考虑简单点处理,全局变量用上 violate 关键字即可。

private static violate int value;

------解决方案--------------------
当多个方法对同一数据存在共享竞争时(如楼主所说的场景),通常就要考虑并发安全的问题了
当然解决并发安全的手段就比较多了,如synchronized关键字,jdk1.5开始提供的并发库,violate关键字,ThreadLocal等。。。