SWT[4]#2

Antworten
jcdmb
Beiträge: 38
Registriert: Fr 31. Okt 2008, 23:33

SWT[4]#2

Beitrag von jcdmb »

Hi, wisst ihr wofür man den Besucher in dieser Aufgabe braucht? Danke im Voraus!
Christian S.
Beiträge: 225
Registriert: Sa 25. Okt 2008, 12:48

Re: SWT[4]#3

Beitrag von Christian S. »

Hi, mir geht es hier gleich (ich gehe mal davon aus, dass du die Aufgabe 2 meinst). Kann mir jemand auf die Sprünge helfen inwiefern man die beiden Muster hier sinnvoll kombinieren kann?
Thomas
Administrator
Beiträge: 383
Registriert: Do 23. Okt 2008, 20:16
Wohnort: Karlsruhe
Kontaktdaten:

Re: SWT[4]#3

Beitrag von Thomas »

ich hätte mal ne frage zur eigentlichen aufgabe 3. und zwar verhindert volatile doch die wettlaufsituation in unserem beispiel nicht, da der erste thread die if-schleife aufrufen könnte danach der 2. thread die if-schleife ausführen und dann die threads nacheinander i-- ausführen. mit volatile wird ja nur sichergestellt dass der wert immer aktualisiert ist, da er am anfang aber beides mal 1 ist, dürfte die situation ja trotzdem noch auftreten oda?
Chrisss
Beiträge: 63
Registriert: So 25. Jan 2009, 20:21

Re: SWT[4]#3

Beitrag von Chrisss »

genau, volatile ändert nichts daran, dass dieses if-gekapselte value-- nicht atomar ist.
zwischen if-abfrage und wertänderung kann wie im beispiel der vorlesung der wert von einem anderen Thread geändert werden
Benutzeravatar
kimbo
Beiträge: 16
Registriert: Sa 8. Nov 2008, 15:13
Kontaktdaten:

Re: SWT[4]#3

Beitrag von kimbo »

hat jemand nen tipp für die 3b)?
also ich seh ein, dass die sequentielle implementierung schneller is, da im endeffekt, die schritte zum erstellen neuer threads gespart werden.
aber mehr weiß ich atm auch nich...

danke im voraus!
markusj
Beiträge: 164
Registriert: Do 23. Okt 2008, 22:07

Re: SWT[4]#2

Beitrag von markusj »

Überleg dir Mal, welche Komponenten deines Rechners bei einer (angenommenen) Multicore-Maschine parallel arbeiten und welche nicht.
Dann überlege dir, wie der Mergesort arbeitet, und welche Komponenten du mit deiner Implementierung am ehesten auslastest, wo dein "Flaschenhals" ist. Was ist das teuerste beim Sortieren von Integern?
Schließlich mach dir noch ein paar Gedanken darüber, was alles für Nebeneffekte und Zusatzarbeit geleistet werden muss, wenn du mehrere Threads startest - als Stichworte: Betriebsystem, Organisationsaufwand, Synchronisation innerhalb der Anwendung (die du ja z.Bsp mit synchronized oder thread.join() machst).

mfG
Markus
Antworten

Zurück zu „Übung“