说一下,大家同步怎么解决的
例如,
张三-----获取数据-------更新数据
李四-----获取数据----更新数据数据时同一个那么最终结果将是李四的结果二这里的操作是:张三给数据 + 1,然后李四也给数据 + 1;
最终结果是数据只被加了1;
事实上应该加2。而如果给方法加了同步接口,则效率又会大打折扣。
请高手指教
例如,
张三-----获取数据-------更新数据
李四-----获取数据----更新数据数据时同一个那么最终结果将是李四的结果二这里的操作是:张三给数据 + 1,然后李四也给数据 + 1;
最终结果是数据只被加了1;
事实上应该加2。而如果给方法加了同步接口,则效率又会大打折扣。
请高手指教
或同步方法同时涉及到多线程调用的问题
李四 -> 获取数据(版本1) -> 更新数据(发现库里版本比自己高)(失败)
所以只能使用synchronized来,为了尽可能提高同步的效率,使用同步块 而不是同步的方法。有兴趣看看http://developer.51cto.com/art/200911/162925.htm 这里面讲得很具体