Search Header Logo
Tutorium 1

Tutorium 1

Assessment

Presentation

Computers

KG

Medium

Created by

Nastassia Lukyanovich

Used 9+ times

FREE Resource

22 Slides • 2 Questions

1

Tutorium 1

​Threads, Runnables und Thread-Zustände

2

Lass uns kennenlernen!

media
  1. Wie heißt du?

  2. Was studierst du?​

  3. Wie viel Pflanzen hast du während Corona gekauft?

3

Poll

Im welchen Semester bist du?

1 - 2

3 - 4

4 - 6

> 6

4

Ablauf der Tutorien

  • HedgeDoc: kurze Zusammenfassung von den wichtigen VL-Inhalten, die wir für das jeweilige Tutorium brauchen werden.

Link:​ https://demo.hedgedoc.org/9sVwTwYAQu-8UpoDO3UXBg?view

  • Quizziz: um die Lektion möglichst interaktiv zu machen, werden wir mit Quizziz im Laufe des ganzen Tutoriums arbeiten.

Threads, Runnables und Thread-Zustände

5

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

  • Grenzen sie Prozesse von Threads ab.

6

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

​​​

Prozess: Programm + alle nötige Ressourcen für seine Ausführung

Threads: Parallel ablaufende Aktivitäten in einem Prozess​

media

7

Multiple Choice

Jeder Thread besitzt seinen eigenen Adressraum (virtueller Speicher) welcher ihn von anderen Threads im System trennt.

1

Wahr

2

Falsch

8

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

​Die Aussage ist falsch.

Ein Prozess hat eigenen Adressraum, welcher von den anderen Prozessen abgegrenzt ist.

Ein Prozess kann mehrere Threads haben, welche auf denselben Adressraum dieses Prozesses arbeiten können.

media

9

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

​​

  • Was ist die Prozessumgebung?​

10

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

​​

Prozessumgebung = Prozessressourcen + Prozesskontext

Prozessressourcen = CPU, Arbeitsspeicher...

Prozesskontext = Zustand des Adressraumes, Registerinhalte, Beschreibung der zugeordneten Ressourcen​

11

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

​​

  • Welchen Inhalt hat ein Thread Kontrollblock (TCB)​

12

Threads, Runnables und Thread-Zustände

​​1.1 Prozesse und Threads

Thread relevante Informationen:

  • Thread-id

  • Program Counter (gibt an, wo im Programm sich der Thread befindet)

  • Stack Pointer

  • Priorität des Threads​

  • ...​

13

Threads, Runnables und Thread-Zustände

​​1.2.1 Main.java

Erstellen Sie zwei for-Schleifen (A und B), die nacheinander ausgeführt werden und in jedem Durchlauf ihren Namen (A bzw. B) und die entsprechende Nummer des Durchlaufs ausgeben. Optional: Können Sie hier auch eine for-each-Schleife nutzen?

14

Threads, Runnables und Thread-Zustände

​​1.2.2 LoggerThread.java und Main.java

Parallelisieren Sie nun die beiden Schleifen, indem Sie diese in zwei Threads abarbeiten. Schreiben sie dafür eine Klasse, die von Thread erbt (extends Thread).

15

Threads, Runnables und Thread-Zustände

​​1.2.3 start() vs run()

Können Sie auch die run() Methode aufrufen? Begründen Sie Ihre Antwort!

16

Threads, Runnables und Thread-Zustände

​​1.2.3 start() vs run()

Können Sie auch die run() Methode aufrufen? Begründen Sie Ihre Antwort!

Nein. Wenn versucht wird den Thread mittels run() zu starten, dann wird die Ausführung in dem Mutterthread durchgeführt und nicht in dem speziell dafür erstellten Thread.

17

Threads, Runnables und Thread-Zustände

​​1.3.2 LoggerThread.java und Logger.java

Nutzen Sie nun die Logger-Klasse für die Ausgabe der zwei for-Schleifen aus Aufgabe 2.1, indem die von Ihnen erstellte Klasse aus Aufgabe 2.2 von der Logger-Klasse erbt. Frage: Treten Probleme auf? Wenn ja, wieso?

18

Threads, Runnables und Thread-Zustände

​​1.3.2 LoggerThread.java und Logger.java

Nutzen Sie nun die Logger-Klasse für die Ausgabe der zwei for-Schleifen aus Aufgabe 2.1, indem die von Ihnen erstellte Klasse aus Aufgabe 2.2 von der Logger-Klasse erbt. Frage: Treten Probleme auf? Wenn ja, wieso?

Lösung: Es ist Grundsätzlich nur möglich von einer Klasse zu erben. Wenn unsere Klasse nicht von Thread erbt, dann hat sich nicht die Funktion start() oder run() und kann somit nicht mehr als eigener Thread gestartet werden.

19

Threads, Runnables und Thread-Zustände

​​1.3.3. LoggerRunnable.java

Lösen Sie das Problem aus Aufgabe 1.3.2 mit dem Runnable-Interface.

20

Threads, Runnables und Thread-Zustände

​​1.4 Threads Zustände

media

21

Threads, Runnables und Thread-Zustände

​​1.4 Threads Zustände

media

​New : Thread ist erstellt aber wurde noch nicht gestartet

Runnable : der Thread kann ausgeführt werden

Ready : Thread könnte ausgeführt werden, ist aber keiner CPU zugewiesen

Running : Thread wird gerade auf einer CPU ausgeführt​

22

Threads, Runnables und Thread-Zustände

​​1.4 Threads Zustände

media

Timed Waiting : Thread wurde für eine bestimmte Zeit suspendiert und kann nicht ausge- führt werden

Waiting : Thread wurde für unbestimmte Zeit suspendiert und kann nicht ausgeführt wer- den

Blocked : Thread wartet auf Ressourcen und kann nicht ausgeführt werden

Terminated : Die Ausführung des Threads ist beendet

23

Threads, Runnables und Thread-Zustände

​​1.4 Threads Zustände

media

24

Threads, Runnables und Thread-Zustände

Danke für die Aufmerksamkeit!

Tutorium 1

​Threads, Runnables und Thread-Zustände

Show answer

Auto Play

Slide 1 / 24

SLIDE