diff --git a/pom.xml b/pom.xml
index f4756b41e42d9c5777d859795f6405eb53c3b183..e532328f6338f1f0c9f4a0cd1cb9958bf7ce3727 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,4 +13,13 @@
         <maven.compiler.target>17</maven.compiler.target>
     </properties>
 
+    <dependencies>
+        <!-- https://mvnrepository.com/artifact/javazoom/jlayer -->
+        <dependency>
+            <groupId>javazoom</groupId>
+            <artifactId>jlayer</artifactId>
+            <version>1.0.1</version>
+        </dependency>
+    </dependencies>
+
 </project>
\ No newline at end of file
diff --git a/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo01.java b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo01.java
new file mode 100644
index 0000000000000000000000000000000000000000..e287e56b2a3b1af2bd7ef15413c23c3af169937c
--- /dev/null
+++ b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo01.java
@@ -0,0 +1,42 @@
+package de.hdm.jordine.vorlesung.concurrency.demo;
+
+import javazoom.jl.player.Player;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.util.Scanner;
+
+// Inspired by https://www.delftstack.com/de/howto/java/java-play-mp3/
+public class AudioPlayerDemo01 {
+
+    private Player player;
+
+    public void playAudio(String path){
+        try {
+            FileInputStream fileInputStream = new FileInputStream(path);
+            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
+            player = new Player(bufferedInputStream);
+            player.play();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) {
+        AudioPlayerDemo01 demo = new AudioPlayerDemo01();
+
+        Scanner sc = new Scanner(System.in);
+
+        System.out.println("Write stop to stop the music: ");
+
+        demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_01.mp3");
+
+        demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_02.mp3");
+
+        if (sc.nextLine().equalsIgnoreCase("stop")) {
+            demo.player.close();
+        }
+
+    }
+
+}
diff --git a/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo02.java b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo02.java
new file mode 100644
index 0000000000000000000000000000000000000000..6de6e0027f1280bc025ad57ee83a82d2ce63660a
--- /dev/null
+++ b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo02.java
@@ -0,0 +1,55 @@
+package de.hdm.jordine.vorlesung.concurrency.demo;
+
+import javazoom.jl.player.Player;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.util.Scanner;
+
+// Inspired by https://www.delftstack.com/de/howto/java/java-play-mp3/
+public class AudioPlayerDemo02 {
+
+    private Player player;
+
+    public void playAudio(String path){
+        try {
+            FileInputStream fileInputStream = new FileInputStream(path);
+            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
+            player = new Player(bufferedInputStream);
+            player.play();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) {
+        AudioPlayerDemo02 demo = new AudioPlayerDemo02();
+
+        Scanner sc = new Scanner(System.in);
+
+        System.out.println("Write stop to stop the music: ");
+
+        Thread t0 = new Thread(new Runnable() {
+            @Override
+            public void run() {
+                demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_01.mp3");
+            }
+        });
+
+        Thread t1 = new Thread(new Runnable() {
+            @Override
+            public void run() {
+                demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_02.mp3");
+            }
+        });
+
+        t0.start();
+        t1.start();
+
+        if (sc.nextLine().equalsIgnoreCase("stop")) {
+            demo.player.close();
+        }
+
+    }
+
+}
diff --git a/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo03.java b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo03.java
new file mode 100644
index 0000000000000000000000000000000000000000..202ba245fca5cc7fb53cec0587cfb393b30981c8
--- /dev/null
+++ b/src/main/java/de/hdm/jordine/vorlesung/concurrency/demo/AudioPlayerDemo03.java
@@ -0,0 +1,55 @@
+package de.hdm.jordine.vorlesung.concurrency.demo;
+
+import javazoom.jl.player.Player;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.util.Scanner;
+
+// Inspired by https://www.delftstack.com/de/howto/java/java-play-mp3/
+public class AudioPlayerDemo03 {
+
+    private Player player;
+
+    public synchronized void playAudio(String path){
+        try {
+            FileInputStream fileInputStream = new FileInputStream(path);
+            BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
+            player = new Player(bufferedInputStream);
+            player.play();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) {
+        AudioPlayerDemo03 demo = new AudioPlayerDemo03();
+
+        Scanner sc = new Scanner(System.in);
+
+        System.out.println("Write stop to stop the music: ");
+
+        Thread t0 = new Thread(new Runnable() {
+            @Override
+            public void run() {
+                demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_01.mp3");
+            }
+        });
+
+        Thread t1 = new Thread(new Runnable() {
+            @Override
+            public void run() {
+                demo.playAudio("/Users/tobiasjordine/Documents/HdM/SE3/sose2022/misc/demo_audio/sample_02.mp3");
+            }
+        });
+
+        t0.start();
+        t1.start();
+
+        if (sc.nextLine().equalsIgnoreCase("stop")) {
+            demo.player.close();
+        }
+
+    }
+
+}