Multitasking
Multithreading
Threads
Pros and Cons of Multithreading
Threads teilen die Resourcen eines Processes aber können unabhängig durchgeführt werden
Die Arbeit eines Prozesses wird aufgeteilt
Die Fähigkeit einer Anwendung Input aufzunehmen bleibt erhalten:
1 thread für User Input
1 thread für computing
Datenaustausch ohne IPC (Inter-Process-Communication)
Race Condition:
Ist ein Programmfehler, wo die Ergebnisse des Programms abhängig von der Reihenfolge der durchgeführten Threads sind.
-> Mutual Exclusion: Man muss sichergehen, dass ein Prozess geteilte Ressourcen nur dann verwendet, wenn sie nicht bereits von einem anderen verwendet wird.
Der Teil eines Programms der geteilte Ressourcen verwendet heißt kritischer Bereich (critical region)
Code-example of multithreading
Mutual Exclusion
Look at Simple Bank Example se-vo-08-Threads
Task
Process
Deadlock
Kann vorkommen wenn mehrere Threads mehrere Locks, aber in unterschiedlicher Reihenfolge verwenden
Zuletzt geändertvor 2 Jahren