Hallo Leute,
habe hier 2 Threads laufen, die sich beim Lesen aus einer Datei (rm-store) ins Gehege kommen, einen eigenen und ein repaint().
Beim Schreiben ist mir klar, warum. Aber wieso auch beim Lesen? (Gemeinerweise nur manchmal)
Wer zu spät kommt, generiert einen Nullpointerexception. Das Programm selbst läuft mit allen (selbstangelegten) Threads ungestört weiter.
Packe ich ein System.out.println("dingsbumsda"); dazwischen, sehe ich "das Gerangel", die Reihenolge der Indices der Leseschleife weisen auf 2 "parallele" Zugriffe hin. Aber durch die Zeitverzögerung ist das Lesen dann problemlos.
Kann es sein, dass die Methoden, auch wenn sie keine Threads enthalten, im Gegensatz zu Javascript nicht atomar sind?
Sind nicht mal die Schleifen atomar?
System: Sun Java 1.6, Sun WTK 2.2
Wat nu?
Lesezeichen