Klausur 04 08 2009 -- Lösung(verbesserte Version geupped)

zum vergleichen und diskutieren

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.

http://www.speedyshare.com/files/21054204/09-08-04_klausur_hochladen.pdf

edit: verbesserte version is oben!


ich würde sagen das ist falsch.

skirpt (04/31):

was meint ihr?


ist das beschriebene oben nicht eher currying?


ja lol. ich haette die frage evtl lesen sollen besser !


uh…das is nich so easy. ich hatte anscheinend ne falsche vorstellung von volatile arrays.hmmm:D


Unabhängig davon kann man mit volatile allein keine “race conditions” verhindern → Die Menge ist nicht thread-sicher.


jo is ausgebessert und oben


beim schreibtischlauf aufgabe 4:

ich hab da:

abschnitt | folgeabschnitt

 1.5              1.6

20.10 20.11

 1.5             20.11

20.10 20.12

 1.5             20.12

20.10 20.11

 1.5             20.10

20.10 20.11

kann uch gut alles falsch sein, ich komm jedesmal so durcheinander


ich komm auf:

abschnitt: 1.5, 1.6., 20.10, 20.11
folgeabschnitt: 1.6, 1.7, 20.11, 20.12

dito :frowning:


koennte

abschnitt1.5 folgeabschnitt20.12 auch sein ?

kann doch folgendermassen ablaufen:

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…


ach ne. diese verwirrung ist ja mit ein lernziel von PFP!
diese verwirrung ist teil der so genannten HEISENBUGS (wie sie von Goetz bezeichnet werden)


@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:


@clebinger:
dann koennte man konsequenterweise die klausur auf 120% auslegen, bei den schreibtischlaeufen.

:smiley: :smiley:

@propertygrid: ja das sehe ich auch so wiedu . 1.6 und 1.7 denke ich kann nicht kommen

true@auswertungsreihenfolge. … me_fail@aufgaberichtiglesen.


wollen wir entsprechende petition (oder noch besser: eine eins für jeden!?) bis dienstag einbringen?


das wäre dann…mehr gleichheit im bildungssystem ?! :-p :-p


mit der Aufgabe hab ich auch so Probleme.
Hab das Programm mal laufen lassen und da kamen diese Ergebnisse raus:

[m]Abschnitt: 20.10
Folgeabschnitt: 20.11
Abschnitt: 20.10
Folgeabschnitt: 20.12

Abschnitt: 20.10
Folgeabschnitt: 20.11
Abschnitt: 20.11
Folgeabschnitt: 20.12[/m]

also für die Lösung würd ich das da vorschlagen:
A: 1.5, FA: 1.6
A: 20.10, FA: 20.11
A: 1.5, FA: 20.11
A: 1.5, FA: 20.12
A: 20.10, FA: 20.12
A: 1.5, FA: 20.10


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).

wie clebinger schon sagte…heisenbug…:smiley:


drauf geschissen!


qft