Synchronized bei zentralem Datenzugriff bei WebApps?

Status
Nicht offen für weitere Antworten.

Krabat

Bekanntes Mitglied
Ich habe eine grundsätzliche Frage zu WebApplikationen / JSP / Tomcat:
Da es sich um eine Webapplication handelt, erfolgt der Zugriff von vielen Benutzern gleichzeitig. Da bestimmte Daten von allen usern genutzt werden, wäre es doch sinnig, dies zu zentralisieren. Also würde man die Daten bei der Initialisierung der Webapplikation in eine zentrale Struktur laden und diese über Methoden zur Verfügung stellen.

Müssen diese Methoden dann sychronized sein? Auch wenn nichts verändert wird, sondern die Daten nur gelesen werden? Würde dies dann bedeuten, dass nur ein user zur Zeit die Funktion des Datenzugriffs nutzen kann und alle anderen müssen warten bis Sie an der Reihe sind?
 
S

SlaterB

Gast
das mit dem Warten stimmt, daher wäre snychonized zu vermeiden,
das kann aber teilweise zu Problemen führen,
z.B. ist es nicht erlaubt, dass zwei Threads gleichzeitig eine ArrayList durchlaufen
(Vector dagegen gestattet das, ist synchronisiert)

hängt also davon ab, was du da für Daten hast,
im Zweifel ruhig synchronized machen, sind nur Millisekunden
 

ms

Top Contributor
SlaterB hat gesagt.:
z.B. ist es nicht erlaubt, dass zwei Threads gleichzeitig eine ArrayList durchlaufen

Hi SlaterB,

bist du dir da ganz sicher?
afaik, wenn die ArrayList nicht verändert wird dann sollte es auch keine Probleme geben.

ms
 
S

SlaterB

Gast
stimmt, irgendwie habe ich da was in Erinnung, richtig Sinn macht das aber im Moment nicht,

ConcurrentModificationException sollte nur bei einer Modification der Liste kommen,
nicht bei geänderten IteratorStand oder was immer ich da komisches dachte,

ich mahne also nur zur Vorsicht, kann aber nix konkretes benennen ;)
 

Krabat

Bekanntes Mitglied
Danke für die prompten Antworten! Ich denke, ich probiers dann erstmal ohne syncronized aus und stelle um, wenns Fehler gibt. Thx!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben