【发布时间】:2012-01-21 23:32:07
【问题描述】:
public void consumeResponse(OmwListResponse<T> response) {
synchronized (response.getResultList()) { // XXX this isn't synchronized safely
for (T t : response.getResultList()) {
if (!cacheList.contains(t)) {
cacheList.add(t);
}
}
}
}
情况是我不希望任何人在此方法完成之前有机会 response.getResultList() 或 cacheList。我该如何正确地做到这一点?
【问题讨论】:
-
如果
getResultList()在每次调用时都返回一个新列表,则synchronized块不会做任何有用的事情。 -
只是一个参考getter。
标签: android multithreading synchronize