2017-10-06 3 views
0

Ich habe eine Arraylist in der Konstanten-Datei. Gibt es eine Chance, dass dieselbe Arraylist unterschiedliche Werte in verschiedenen Klassen gleichzeitig hat? Kann der Zugriff auf Arraylist sein auch in verschiedenen Threads passiert. Wenn es so passiert, was kann ich tun, um das zu beheben? Die Arraylist wird basierend auf einer Rückrufmethode von Firebase geändert.Kann dieselbe Arraylist unterschiedliche Werte in Klassen haben?

NB: - Ich habe keinen Code haben hier zu posten.

+0

modifizieren Sie die Inhalte von Arraylist? –

+0

Nun ja. Irgendwann modifiziere ich die Arraylist. –

+1

Dann depeneds es auf, wie die Arraylist deklariert wird und wie Sie Ihre Klassen Zugriff darauf erhalten. – csmckelvey

Antwort

2

, die auf List ist nicht beschränkt ist. In jeder gleichzeitigen Umgebung müssen Sie Vorkehrungen treffen, dass es keine Rassenbedingung oder unvorhergesehene Mutation gibt. Um dies zu lösen, gibt es mehrere Implementierungen in dem Paket java.util.concurrent. Here is an overview

Es gibt auch die Option, um die Java-Tools für die Parallelität zu verwenden, z.B. Synchronisation, Atom-Felder, Sperrobjekte etc. etc.

https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

Verwandte Themen