Unterschied Prozess zu Thread?
Prozess
Thread
Wie läuft Nebenläufigkeit bei Single CPU ab?
Scheduler
Wie läuft Nebenläufigkeit bei Multicore Systemen ab?
Jede CPU hat eigenen Scheduler und eigene Threads
Zustände von einem Thread?
Was bedeutet synchronized bei einer Java Funktion?
Blockiert gesamte Methode für alle Threads ausser den Thread der sie zuerst ausführt.
Wo kann man synchronized noch nutzen?
Im Scope der Funktion
public void addName(String name) {
synchronized(this) {
lastName = name;
nameCount++;
}
nameList.add(name);
}Was ist eine Race Condition?
Wenn das Ergebnis einer Kalkulation durch Zugriff mehrerer Threads an einem zeitkritischen Zeitpunkt verschiedene Ergebnisse liefert.
Was ist ein Deadlock?
Wenn die Anforderung und Freigabe von Locks nicht in der selben Reihenfolge stattfindet.
Was bedeutet Starvation (verhungern) von Threads?
Durch Priorisierung von Threads kommen manche davon nie an die Reihe
Wann ist Synchronisation notwendig?
Wenn ein Objekt veränderbar ist und geteilt wird (shared - mutable)
Nenne Monads für synchrone Tasks
Nenne Monads für asynchrone Tasks
Was ist ein Future?
Welchen Status kann ein Future haben?
Wie lautet die aktuelle callback Funktion eines Future?
onComplete {
case Success(result) => result
case Failure(error) => error
}Welche Möglichkeiten der Fehlerbehandlung gibt es bei Futures?
fallbackTo { whatever() }recoverWith { case _ => whatever() } Unterschied Concurrency und Parallelism?
Wird Future für Concurrency oder Parallelism verwendet?
Concurrency
Wird Akka für Concurrency oder Parallelism verwendet?
Parallelism