Illustrated with Java, still this highlight fairly well the caveats of mutable collections in multithreaded code.