Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Klausur 04 08 2009 – Lösung(verbesserte Version geupped)
bitte durchlesen wer mag, verbessern wenn ihr denkt dass was falsch ist und dann uppe ich es nachher nochmal , wenn sich ein paar Verbesserungen angesammelt haben !
kein anspruch auf richtigkeit, bitte verbessern wenn ihr fehler findet, ich werde es dann nachher korrigieren und nochmal uppen.
thread wir erstellt mit (1,5), run wird aufgerufen.
jetzt wird aber zwischenzeitlich vom mian thread ein neuer thread erstellt. mit 20.10. und dessen run methodekomplett abgearbeitet. danach steht dann als variablen kapitel == 20 sektion == 12.
jetzt ruft der mit urspr. (1,5) erstellte thread print auf, dort wird System.out.Blabla aufgerufen , und hat als werte die er ausgibt
20 12
denkbar oder?
ich muss sagen, die parallelen schriebtischlaeufe verwirren nicht nur euch…
@nebelwerfer: Oliver hat ja auch 20.12 oben stehen (es wird ja nicht die Ausgabereihenfolge gefragt)
Aber was ich nicht verstehe: Es steht ja: [quote]
Hinweis: Konstruktoren von Thread-Objekten werden vollständig abgearbeitet, bevor mittels
start der Thread zu arbeiten beginnt
[/quote]
Also können doch die Werte 1.6 beim Abschnitt und 1.7 als Folgeabschnitt (wie bei Oliver) nicht entstehen?!
Die Werte 1.5 werden doch immer durch 20.10 überschrieben oder kann der Compiler die beiden Buchanweisungen etwa vertauschen? :huh:
ja das is das fiese an den Parallelen Schreibtischläufen.
es kann gut sein dass du richtig überlegst und es sein kann dass die von dir ueberlegten problemen/konstellationen eintreten.
NUR wann, und OB grade auf deiner JVM, deinem betriebssystem…das ist die frage. gut moeglich dass die von dir erdachte konstellation “nie” auftreten wird ( bzw halt nicht waehrend du es testest).