Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » pfp » Lösungsvorschlag   (Übersicht)

Dies ist eine alte Version des Dokuments!


Lösungsvorschlag

Aufgabe 1 (Wissensfragen)

a)

  • Bei 3 Arbeitspaketen wird ein Speedup von 1.8 gemessen.
s(n) = 54 s und p(n) = 2 * 6 + 18 s = 30 s ⇒ Sp(n) = 54 / 30

b)

  • Das Schalten von Transitionen ist atomar.
  • Keine Belegung des Petri-Netzes ist im Erreichbarkeitsgraph doppelt vorhanden.

c)

  • def g: ((Int, Int) ⇒ Int) ⇒ Int
  • (def g: ((Int, Int) ⇒ Int) ⇒ Int)

Aufgabe 2 (Longest Common Subsequence)

Aufgabe 3 (Fehlersuche)

a) Stichwortartige Problembeschreibung:
Klasse Error1 hat eigene Kopie von finished im Cache und bekommt möglicherweise die globale Änderung nicht mit.

Beheben Sie den Fehler:

static volatile boolean finished = false;

b) Stichwortartige Problembeschreibung:
Da if-Abfrage nicht synchronisiert, wird latch möglicherweise zweimal dekrementiert und Haupt-Thread schläft ewig.

Beheben Sie den Fehler:

synchronized(Error2.class) { /* if-Abfrage */ }

c) Stichwortartige Problembeschreibung:
In foo() wird run-Methode direkt aufgerufen!

Beheben Sie den Fehler (Zeile 15):

thread2.start();