0
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にチャンスを与えたくないということです。これを適切に行うにはどうすればよいですか?

4

2 に答える 2

0

ロック オブジェクトを作成します。

private static final void LOCK = new Object();

その上で同期します。

于 2012-01-21T23:36:27.580 に答える