diff --git a/VL04_09/ThreadRunnableMitLambda/.classpath b/VL04_09/ThreadRunnableMitLambda/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..d9862945d289466c90c1c250eb1559a73a378c2a
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/.classpath
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk-13">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/VL04_09/ThreadRunnableMitLambda/.project b/VL04_09/ThreadRunnableMitLambda/.project
new file mode 100644
index 0000000000000000000000000000000000000000..0849fb3676b10ceafe6af7f6cf5d3e7d2ed9153e
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>ThreadRunnableMitLambda</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/VL04_09/ThreadRunnableMitLambda/.settings/org.eclipse.jdt.core.prefs b/VL04_09/ThreadRunnableMitLambda/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..2b084d847fda27ff30a053f1b29415df3ac4a5ff
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=12
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=12
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=12
diff --git a/VL04_09/ThreadRunnableMitLambda/src/inf3/MyInputClass.java b/VL04_09/ThreadRunnableMitLambda/src/inf3/MyInputClass.java
new file mode 100644
index 0000000000000000000000000000000000000000..526ee6ffd7321f1979892f4db2eefd1b8e5482ec
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/src/inf3/MyInputClass.java
@@ -0,0 +1,17 @@
+package inf3;
+import java.util.Scanner;
+/** Der Thread wartet auf eine Eingabe von der Tastatur. Der Thread bricht mit einer Exception ab,
+ * wenn Zeichen eingegeben werden, die keine Zahlen sind, so dass die Zahlenkonvertierung fehlschlägt.
+ * @author stedS
+ */
+public class MyInputClass extends Thread {
+
+	public void run() {
+		Scanner myScanner = new Scanner(System.in);
+		int ii = 0;
+		while (true) {
+			ii = myScanner.nextInt();
+			System.out.println("\nEingabe: " + ii);		
+}}}
+
+
diff --git a/VL04_09/ThreadRunnableMitLambda/src/inf3/MyOutputClass.java b/VL04_09/ThreadRunnableMitLambda/src/inf3/MyOutputClass.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc0980cc9579b6080b4890c1f44dc795eecbd919
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/src/inf3/MyOutputClass.java
@@ -0,0 +1,23 @@
+package inf3;
+/** Der Thread gibt im 500ms Takt Sternchen auf der Konsole aus
+ * und erzeugt nach jedem 10. Sternchen einen Zeilenumbruch.
+ * @author stedS
+ */
+public class MyOutputClass implements Runnable {
+	public void run() {
+		int ll = 0;
+		while (true) {
+			if (ll++ %10 != 0) {					
+				System.out.print("*");
+			} else { 
+				System.out.println();
+			}
+			try { Thread.sleep(500);	
+			} catch (InterruptedException e) { e.printStackTrace(); }
+		}		
+	}
+}
+
+
+
+
diff --git a/VL04_09/ThreadRunnableMitLambda/src/inf3/ThreadRunnableMitLambda.java b/VL04_09/ThreadRunnableMitLambda/src/inf3/ThreadRunnableMitLambda.java
new file mode 100644
index 0000000000000000000000000000000000000000..06c84df3f05ddae4c38557dcbf1be229d7ed7c22
--- /dev/null
+++ b/VL04_09/ThreadRunnableMitLambda/src/inf3/ThreadRunnableMitLambda.java
@@ -0,0 +1,40 @@
+package inf3;
+/** Programm zur Demonstration der Übergabe eines Lambda Ausdrucks an 
+* den Konstruktor eines Threads anstelle eines Objekts, welches das Interface
+* Runnable unterstützt. Durch die Verwendung eines Lambda-Ausdrucks, der die 
+* Methode run() darstellt, kann man sich die Definition einer eigenen
+* Klasse, welche das Interface Runnable implementiert, sparen. Der Code
+* wird somit kürzer und besser lesbar.
+* 
+* <ul>
+* 	<li> myThread1 wird durch die Übergabe eines Runnable Objekts erzeugt. Dieses
+* 		 Object (myRunnable) muss zuvor angelegt werden und es muss die Klasse 
+*        MyOutputClass definiert werden, welche die Methode run() implementiert </li>
+*   <li> myThread2 wird erstellt, indem anstelle des Runnable-Objects die run()
+*   	 Methode direkt als Lambda-Ausdruck an den Thread-Konstruktor übergeben wird.</li> 
+* </ul>
+*
+* @author Steddin
+* @version 1.00, 2020-01-26 (Steddin) Erstausgabe
+*/
+
+public class ThreadRunnableMitLambda {
+	public static void main(String[] args) {
+
+		//Objekt anlegen, welches Runnable impl. und an Thread-Object übergeben wird
+		MyOutputClass myRunnable = new MyOutputClass();
+		//Thread-Objekt erzeugen und Runnable-Object übergeben
+		Thread myThread1 = new Thread(myRunnable);
+		//Thread-Object erzeugen und statt Runnable-Object "Lambda-Ausdruck" übergeben
+		Thread myThread2 = new Thread (
+			() -> {	 while (true) { 
+							System.out.print("+");
+							try { Thread.sleep(500);	
+							} catch (InterruptedException e) { e.printStackTrace(); }	
+					 }
+				  }					 );
+		myThread1.start();
+		myThread2.start();
+	}
+}
+