我有这个:
synchronized(c){
if (!items.hasNext() && (c.getFinishedCount() == c.getStartedCount())) {
f.done(null, results);
return;
}
if(c.isBelowCapacity()){
RunMap(items,m,results,c,s,f);
}
}
但最终当我调用RunMap()orf.done()时我不需要在 c 上同步,我只需要在执行条件检查 / if 语句时在 c 上同步。
我应该只使 c 上的方法同步,然后摆脱同步块吗?
眼眸繁星
www说
相关分类