%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Kopfzeile
\ihead{Java}
\chead{}
\ohead{http://kohnlehome.de/java/thread.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
Thread
\end{center}

\section*{Thread erstellen}
\subsection*{1. Aufgabe definieren}
\begin{verbatim}
class Aufgabe implements Runnable{
    @Override
    public void run() {
        // im Thread ausgeführter Quellcode
    }
}
\end{verbatim}

\subsection*{2. Thread erstellen}
\begin{verbatim}
Thread thread = new Thread(new Aufgabe());
\end{verbatim}

\subsection*{3. Thread starten}
\begin{verbatim}
thread.start();
\end{verbatim}

\section*{Threadeigenschaften}
\begin{itemize}
\item getId(): long
\item setName(String) / getName(): String
\item setPriority(int) / getPriority(): int (1-10)
\item getState(): Thread.State
\end{itemize}

\section*{Referenz auf aktuellen Thread}
\begin{itemize}
\item Thread.currentThread(): Thread
\end{itemize}

\section*{Thread.State}
\begin{itemize}
\item NEW: Noch nicht gestartet
\item RUNNABLE: Läuft gerade, oder wartet auf Zuweisung vom Scheduler.
\item BLOCKED: Wartet z.B. auf I/O.
\item WAITING: Wartet auf anderen Thread.
\item TIMED\_WAITING: Wartet, bis Zeit abgelaufen.
\item TERMINATED: Beendet, z.B., wenn run() fertig.
\end{itemize}

UML-Zustandsdiagramm: \href{https://www.uml-diagrams.org/examples/java-6-thread-state-machine-diagram-example.html}{Java 6 Thread States and Life Cycle}




\end{document}
