Ist Vector-Thread in Java sicher?
Ist Vector-Thread in Java sicher?

Video: Ist Vector-Thread in Java sicher?

Video: Ist Vector-Thread in Java sicher?
Video: #5 - How to #Synchronize (ThreadSafe) ArrayList in Java | What is CopyOnWriteArrayList class in Java 2024, Dezember
Anonim

Vektor Methoden sind alle synchronisiert. Also von mehreren verwenden Fäden ist " sicher ". Sie müssen nur synchronisieren, wenn Sie einen atomaren Read-Evaluate-Write-Prozess benötigen. Das Synchronisieren Ihrer eigenen Methoden macht nicht unbedingt Ihren Code Gewinde - sicher für diese Szenarien.

Ist Listenthread sicher in Java, wenn man dies im Auge behält?

Tatsächlich sind alle Sammlungsklassen (außer Vector und Hashtable) in der Java . util-Paket sind nicht Gewinde - sicher . Deshalb das neue Kollektionen ( Aufführen , Set, Map usw.) bieten überhaupt keine Parallelitätssteuerung, um maximale Leistung in Single-Thread-Anwendungen zu erzielen.

Welche Sammlung ist in Java Thread-sicher? EIN Gewinde - sicher class ist eine Klasse, die den internen Zustand der Klasse sowie die von Methoden zurückgegebenen Werte garantiert, die korrekt sind, wenn sie gleichzeitig von mehreren aufgerufen werden Fäden . Die Sammlung Klassen, die sind Gewinde - sicher in Java sind Stack, Vector, Properties, Hashtable usw.

Ist der Java HashSet-Thread unter Berücksichtigung dieser Tatsache sicher?

HashSet ist nicht fadensicheres HashSet in Java ist nicht fadensicher da es standardmäßig nicht synchronisiert wird. Wenn Sie verwenden HashSet in einer Multithread-Umgebung, in der mehrere darauf zugreifen Fäden gleichzeitig und strukturell auch von nur einem einzigen Gewinde dann muss es extern synchronisiert werden.

Welches ist eine threadsichere ArrayList oder ein Vektor?

Vektor ist langsam wie es ist fadensicher . Im Vergleich Anordnungsliste ist schnell, da nicht synchronisiert. Also in Anordnungsliste zwei oder mehr Fäden kann gleichzeitig auf den Code zugreifen, während Vektor ist auf eins beschränkt Gewinde auf einmal. EIN Vektor standardmäßig auf die doppelte Größe seines Arrays.

Empfohlen: