diff --git a/VL04_09/ThreadProgrammende/src/inf3/ThreadProgrammende.java b/VL04_09/ThreadProgrammende/src/inf3/ThreadProgrammende.java
index 07cd38c33c5218aaf92268b71905391dc9fdc6b2..c580c0a0281f848d441da36800a71c74be6984ca 100644
--- a/VL04_09/ThreadProgrammende/src/inf3/ThreadProgrammende.java
+++ b/VL04_09/ThreadProgrammende/src/inf3/ThreadProgrammende.java
@@ -8,22 +8,28 @@ package inf3;
 *   <li> Es zeigt sich, dass das Programm erst dann zu Ende ist, wenn alle
 *        User Threads beendet sind. Erst dann wird der Daemon zerstört. Dies
 *        geschieht hier nicht bereits mit dem Ende von main().</li> 
+*   <li> Obwohl der Daemon Thread unabhängig von der vorgegebenen Anzahl der 
+*        Thread Durchläufe ist, wird er spätestens abgebrochen, wenn der user
+*        Thread beendet wird (qed).</li> 
 * </ul>
 *
 * @author Steddin
+* @version 2.00, 2020-01-26 (Steddin) Programm so umgebaut, dass gezeigt wird, 
+* wie sich das Programm ohne den Aufruf von sleep(500) verhält. 
 * @version 1.01, 2020-01-06
 * @version 1.00, 2019-01-18
 */
 public class ThreadProgrammende {
 	/** Hauptprogramm startet einen Daemon-Thread und 2 User-Thread
-	 * @param args Runntimeparameter werden nicht genützt
+	 * @param args Runtimeparameter werden nicht genützt
 	 * @author Sven Steddin
 	 */
 
+	public static boolean MIT_SLEEP_AUFRUF = true; 
 	public static void main(String[] args) {
 		System.out.println("main-Thread gestartet ...");
-		MyThread mythread1 = new MyThread(1);
-		MyThread mythread2 = new MyThread(2);
+		MyThread mythread1 = new MyThread(1, 5);
+		MyThread mythread2 = new MyThread(2, 10);
 		mythread2.setDaemon(true);
 		mythread1.start();
 		mythread2.start();
@@ -36,24 +42,29 @@ public class ThreadProgrammende {
  * @author stedS
  */
 class MyThread extends Thread {
-	int idx; 		/** Kennnummer des Threads */  
-	int cnt = 0;	/** Anzahl der Aufrufe des Threads */
-	MyThread (int idx) {
+	int idx; 					/** Kennnummer des Threads */  
+	int cnt;					/** Anzahl der Aufrufe des Threads */
+	int maxCnt;					/** max. Anzahl der Durchläufe des Threads */
+	
+	MyThread (int idx, int maxCnt) {
+		super();
+		cnt = 0;
 		this. idx = idx;
+		this.maxCnt = maxCnt; 
 	}
 	public void run() {
 		while(true) {
 			String t = this.isDaemon() ? "Daemon" : "Normal";
 			System.out.println("Thread "+idx+" ["+t+"] : "+ ++cnt +". Durchlauf");
-			if (!this.isDaemon() && (cnt>10))  {
+			if (!this.isDaemon() && (cnt >= maxCnt))  {
 				System.out.println("Thread "+idx+" ["+t+"] : Abbruch");
-				System.out.println("Läuft der Daemon weiter?");
 				break;
 			}
-			try {
-				sleep(600);	// was passiert, wenn sleep() nicht aufgerufen wird?
-								// ... lässt sich nicht direkt vorhersagen --> ausprobieren!
-			} catch (InterruptedException e) { e.printStackTrace(); }
+			if (ThreadProgrammende.MIT_SLEEP_AUFRUF) {
+				try {
+					sleep(500);	// was passiert, wenn sleep() nicht aufgerufen wird?
+				} catch (InterruptedException e) { e.printStackTrace(); }
+			}
 		}
 	}
 }