`ArrayList` nie ma synchronizacji, więc równoległe zapisy mogą uszkodzić stan wewnętrzny albo dać niespójne odczyty. Rozwiązania: zewnętrzny lock, `Collections.synchronizedList`, `CopyOnWriteArrayList` (gdy głównie czytasz) albo inne kolekcje współbieżne zależnie od przypadku.