Pro*_*oid 44 android synchronization
我试图找出我的同步("Group_Name")被跳过,如果我尝试通过它同步不同的值,为什么会这样.
请考虑以下问题.
我有一个名为"Group1"的SyncGroup,其中我有一个名为"MBOGroup1"的MBO,其中我有"name","password","codeCheck"属性.我获取数据并提取属性为"releaseCode"
现在我有另一个名为"GroupSub1"的SyncGroup,其中我有一个名为"MBOSubGroup1"的MBO,我在其中传递属性"releaseCode",我得到了一些结果.
条件如下
如果我为"MBOGroup1"获取多行,我为"GroupSub1"设置了一个for循环,并将每个"releaseCode"数据传递给"GroupSub1"并提取结果
大多数情况下会发生一些releaseCode被跳过而我得到的错误"结果"为"GroupSub1"为什么会这样?是因为for循环执行速度比synchronize()字或其他类似CacheGroup策略更快,因为OnDemand和时间为10秒
请帮助.
因为有些数据我需要放置4个以上的循环,我的未来syncGroup结果取决于从前一个取得的结果.
sychronized("Cache_Group")
首先想到的是在字符串上同步是没有用的。
同步锁根据给定的引用而不是值来访问块。使用“String”无法达到此目的,因为字符串是不可变的,并且两次调用synchronized(“Cache_Group”)将构造具有2个不同引用的2个字符串,从而允许第二次迭代打破预期的锁定。
编辑:@see ReentrantLock 以获得更好的访问控制
| 归档时间: | 
 | 
| 查看次数: | 317 次 | 
| 最近记录: |