diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..f7e4a1d --- /dev/null +++ b/.classpath @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/.project b/.project new file mode 100644 index 0000000..d8107d3 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + PP-Labs_WS-2024-2025 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..2f5cc74 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/bin/.project b/bin/.project new file mode 100644 index 0000000..d8107d3 --- /dev/null +++ b/bin/.project @@ -0,0 +1,23 @@ + + + PP-Labs_WS-2024-2025 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/bin/.settings/org.eclipse.m2e.core.prefs b/bin/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/bin/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/bin/README.md b/bin/README.md new file mode 100644 index 0000000..185c331 --- /dev/null +++ b/bin/README.md @@ -0,0 +1,8 @@ +# Parallele Programmierung (3IB) + +## Laborübungsaufgaben +- [Aufgabenstellungen mit Musterlösungen](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/) + +## Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/) diff --git a/bin/eigenes/philosopher2/Philosopher.class b/bin/eigenes/philosopher2/Philosopher.class new file mode 100644 index 0000000..b30afe8 Binary files /dev/null and b/bin/eigenes/philosopher2/Philosopher.class differ diff --git a/bin/eigenes/philosopher3/Philosopher.class b/bin/eigenes/philosopher3/Philosopher.class new file mode 100644 index 0000000..86db3e7 Binary files /dev/null and b/bin/eigenes/philosopher3/Philosopher.class differ diff --git a/bin/meins/src/Arbitrator.class b/bin/meins/src/Arbitrator.class new file mode 100644 index 0000000..17dbd19 Binary files /dev/null and b/bin/meins/src/Arbitrator.class differ diff --git a/bin/meins/src/Chopstick.class b/bin/meins/src/Chopstick.class new file mode 100644 index 0000000..1234927 Binary files /dev/null and b/bin/meins/src/Chopstick.class differ diff --git a/bin/meins/src/EinThreadStarten.class b/bin/meins/src/EinThreadStarten.class new file mode 100644 index 0000000..2d6ba67 Binary files /dev/null and b/bin/meins/src/EinThreadStarten.class differ diff --git a/bin/meins/src/Philosopher.class b/bin/meins/src/Philosopher.class new file mode 100644 index 0000000..444ef91 Binary files /dev/null and b/bin/meins/src/Philosopher.class differ diff --git a/bin/meins/src/ThreadAuslesen.class b/bin/meins/src/ThreadAuslesen.class new file mode 100644 index 0000000..a75b1ec Binary files /dev/null and b/bin/meins/src/ThreadAuslesen.class differ diff --git a/bin/pom.xml b/bin/pom.xml new file mode 100644 index 0000000..88d3dc7 --- /dev/null +++ b/bin/pom.xml @@ -0,0 +1,6 @@ + + 4.0.0 + PP-Labs_WS-2024-2025 + PP-Labs_WS-2024-2025 + 0.0.1-SNAPSHOT + \ No newline at end of file diff --git a/bin/src/.gitignore b/bin/src/.gitignore new file mode 100644 index 0000000..1f3bdcd --- /dev/null +++ b/bin/src/.gitignore @@ -0,0 +1,10 @@ +**/.DS_Store +**/*.class +*/bin/ +*/.project +*/.classpath +*/.factorypath +*/.settings/ +*/target/ +*/.apt_generated/ +*/.apt_generated_tests/ diff --git a/bin/src/pp.01.01-Inheritance/README.md b/bin/src/pp.01.01-Inheritance/README.md new file mode 100644 index 0000000..3b8b668 --- /dev/null +++ b/bin/src/pp.01.01-Inheritance/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Start eines Threads durch und bei Vererbung" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-01-Inheritence.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-start-eines-threads-durch-und-bei-vererbung) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.01-Inheritance/justfile b/bin/src/pp.01.01-Inheritance/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.01.01-Inheritance/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.01.01-Inheritance/pom.xml b/bin/src/pp.01.01-Inheritance/pom.xml new file mode 100644 index 0000000..dccad59 --- /dev/null +++ b/bin/src/pp.01.01-Inheritance/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.01-Inheritance + 1.0-SNAPSHOT + jar + + + pp.Thermometer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.01.01-Inheritance_solution/README.md b/bin/src/pp.01.01-Inheritance_solution/README.md new file mode 100644 index 0000000..3b8b668 --- /dev/null +++ b/bin/src/pp.01.01-Inheritance_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Start eines Threads durch und bei Vererbung" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-01-Inheritence.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-start-eines-threads-durch-und-bei-vererbung) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.01-Inheritance_solution/justfile b/bin/src/pp.01.01-Inheritance_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.01.01-Inheritance_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.01.01-Inheritance_solution/pom.xml b/bin/src/pp.01.01-Inheritance_solution/pom.xml new file mode 100644 index 0000000..831eba3 --- /dev/null +++ b/bin/src/pp.01.01-Inheritance_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.01-Inheritance_solution + 1.0-SNAPSHOT + jar + + + pp.Thermometer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.01.02-Runnable/README.md b/bin/src/pp.01.02-Runnable/README.md new file mode 100644 index 0000000..cb94908 --- /dev/null +++ b/bin/src/pp.01.02-Runnable/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Start eines Threads als ``Runnable`` und Refactoring" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-02-Runnable.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-start-eines-threads-als-runnable-und-refactoring) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.02-Runnable/justfile b/bin/src/pp.01.02-Runnable/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.01.02-Runnable/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.01.02-Runnable/pom.xml b/bin/src/pp.01.02-Runnable/pom.xml new file mode 100644 index 0000000..1ec22f6 --- /dev/null +++ b/bin/src/pp.01.02-Runnable/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.02-Runnable + 1.0-SNAPSHOT + jar + + + pp.Starter + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.01.02-Runnable_solution/README.md b/bin/src/pp.01.02-Runnable_solution/README.md new file mode 100644 index 0000000..cb94908 --- /dev/null +++ b/bin/src/pp.01.02-Runnable_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Start eines Threads als ``Runnable`` und Refactoring" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-02-Runnable.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-start-eines-threads-als-runnable-und-refactoring) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.02-Runnable_solution/justfile b/bin/src/pp.01.02-Runnable_solution/justfile new file mode 100644 index 0000000..36bfe45 --- /dev/null +++ b/bin/src/pp.01.02-Runnable_solution/justfile @@ -0,0 +1,21 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc + +_exec class: clean compile + mvn exec:java -Dexec.mainClass=pp.{{class}} +Starter: + just _exec Starter +StarterInner: + just _exec StarterInner +StarterLambda: + just _exec StarterLambda diff --git a/bin/src/pp.01.02-Runnable_solution/pom.xml b/bin/src/pp.01.02-Runnable_solution/pom.xml new file mode 100644 index 0000000..9d71db1 --- /dev/null +++ b/bin/src/pp.01.02-Runnable_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.02-Runnable_solution + 1.0-SNAPSHOT + jar + + + pp.Starter + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.01.03-EndThread/README.md b/bin/src/pp.01.03-EndThread/README.md new file mode 100644 index 0000000..0ab65ac --- /dev/null +++ b/bin/src/pp.01.03-EndThread/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Lebenszyklus von Threads und Interrupts" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-03-EndThread.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-lebenszyklus-von-threads-und-interrupts) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.03-EndThread/justfile b/bin/src/pp.01.03-EndThread/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.01.03-EndThread/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.01.03-EndThread/pom.xml b/bin/src/pp.01.03-EndThread/pom.xml new file mode 100644 index 0000000..5ec939f --- /dev/null +++ b/bin/src/pp.01.03-EndThread/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.03-EndThread + 1.0-SNAPSHOT + jar + + + pp.Runner + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.01.03-EndThread_solution/README.md b/bin/src/pp.01.03-EndThread_solution/README.md new file mode 100644 index 0000000..0ab65ac --- /dev/null +++ b/bin/src/pp.01.03-EndThread_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Lebenszyklus von Threads und Interrupts" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-03-EndThread.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/01-Solutions.html#laboraufgabe-lebenszyklus-von-threads-und-interrupts) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.01.03-EndThread_solution/justfile b/bin/src/pp.01.03-EndThread_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.01.03-EndThread_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.01.03-EndThread_solution/pom.xml b/bin/src/pp.01.03-EndThread_solution/pom.xml new file mode 100644 index 0000000..3938817 --- /dev/null +++ b/bin/src/pp.01.03-EndThread_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.01.03-EndThread_solution + 1.0-SNAPSHOT + jar + + + pp.Runner + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.01-MemoryBarrier/README.md b/bin/src/pp.02.01-MemoryBarrier/README.md new file mode 100644 index 0000000..db7f17b --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Anwendung von Memory Barrieren" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-01-MemoryBarrier.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-anwendung-von-memory-barrieren) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.01-MemoryBarrier/justfile b/bin/src/pp.02.01-MemoryBarrier/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.02.01-MemoryBarrier/pom.xml b/bin/src/pp.02.01-MemoryBarrier/pom.xml new file mode 100644 index 0000000..90602ab --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.01-MemoryBarrier + 1.0-SNAPSHOT + jar + + + pp.MemoryBarrierTest + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.01-MemoryBarrier_solution/README.md b/bin/src/pp.02.01-MemoryBarrier_solution/README.md new file mode 100644 index 0000000..db7f17b --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Anwendung von Memory Barrieren" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-01-MemoryBarrier.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-anwendung-von-memory-barrieren) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.01-MemoryBarrier_solution/justfile b/bin/src/pp.02.01-MemoryBarrier_solution/justfile new file mode 100644 index 0000000..355c2fb --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier_solution/justfile @@ -0,0 +1,25 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc + +_exec class: clean compile + mvn exec:java -Dexec.mainClass="pp.{{class}}" -Dexec.args="" +MemoryBarrierTest1: + just _exec MemoryBarrierTest1 +MemoryBarrierTest1b: + just _exec MemoryBarrierTest1b +MemoryBarrierTest2: + just _exec MemoryBarrierTest2 +MemoryBarrierTest5: + just _exec MemoryBarrierTest5 +MemoryBarrierTest6: + just _exec MemoryBarrierTest6 diff --git a/bin/src/pp.02.01-MemoryBarrier_solution/pom.xml b/bin/src/pp.02.01-MemoryBarrier_solution/pom.xml new file mode 100644 index 0000000..d3d6fd6 --- /dev/null +++ b/bin/src/pp.02.01-MemoryBarrier_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.01-MemoryBarrier_solution + 1.0-SNAPSHOT + jar + + + pp.MemoryBarrierTest1 + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.02-ThreadLocal/README.md b/bin/src/pp.02.02-ThreadLocal/README.md new file mode 100644 index 0000000..d74df3c --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "threadlokaler Speicher" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-02-ThreadLocal.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-threadlokaler-speicher) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.02-ThreadLocal/justfile b/bin/src/pp.02.02-ThreadLocal/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.02.02-ThreadLocal/pom.xml b/bin/src/pp.02.02-ThreadLocal/pom.xml new file mode 100644 index 0000000..daf79da --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.02-ThreadLocal + 1.0-SNAPSHOT + jar + + + pp.MyThreadLocalRandom + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.02-ThreadLocal_solution/README.md b/bin/src/pp.02.02-ThreadLocal_solution/README.md new file mode 100644 index 0000000..d74df3c --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "threadlokaler Speicher" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-02-ThreadLocal.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-threadlokaler-speicher) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.02-ThreadLocal_solution/justfile b/bin/src/pp.02.02-ThreadLocal_solution/justfile new file mode 100644 index 0000000..b74f728 --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal_solution/justfile @@ -0,0 +1,25 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc + +_exec class: clean compile + mvn exec:java -Dexec.mainClass="pp.{{class}}" -Dexec.args="" +MyThreadLocalRandom0: + just _exec MyThreadLocalRandom0 +MyThreadLocalRandom1: + just _exec MyThreadLocalRandom1 +MyThreadLocalRandom2: + just _exec MyThreadLocalRandom2 +MyThreadLocalRandom3: + just _exec MyThreadLocalRandom3 +MyThreadLocalRandom4: + just _exec MyThreadLocalRandom4 diff --git a/bin/src/pp.02.02-ThreadLocal_solution/pom.xml b/bin/src/pp.02.02-ThreadLocal_solution/pom.xml new file mode 100644 index 0000000..2d598eb --- /dev/null +++ b/bin/src/pp.02.02-ThreadLocal_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.02-ThreadLocal_solution + 1.0-SNAPSHOT + jar + + + pp.MyThreadLocalRandom0 + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.03-Lock/README.md b/bin/src/pp.02.03-Lock/README.md new file mode 100644 index 0000000..330a8b6 --- /dev/null +++ b/bin/src/pp.02.03-Lock/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "gegenseitiger Ausschluss" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-03-Lock.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-gegenseitiger-ausschluss) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.03-Lock/justfile b/bin/src/pp.02.03-Lock/justfile new file mode 100644 index 0000000..870c391 --- /dev/null +++ b/bin/src/pp.02.03-Lock/justfile @@ -0,0 +1,17 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc + +_exec factory: clean compile + mvn exec:java -Dexec.mainClass="pp.{{factory}}" -Dexec.args="" +Factory: + just _exec Factory diff --git a/bin/src/pp.02.03-Lock/pom.xml b/bin/src/pp.02.03-Lock/pom.xml new file mode 100644 index 0000000..4bdb982 --- /dev/null +++ b/bin/src/pp.02.03-Lock/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.03-Lock + 1.0-SNAPSHOT + jar + + + pp.Factory + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.02.03-Lock_solution/README.md b/bin/src/pp.02.03-Lock_solution/README.md new file mode 100644 index 0000000..330a8b6 --- /dev/null +++ b/bin/src/pp.02.03-Lock_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "gegenseitiger Ausschluss" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-03-Lock.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/02-Solutions.html#laboraufgabe-gegenseitiger-ausschluss) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/02-konkurrierenderZugriff.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/02-konkurrierenderZugriff.html) diff --git a/bin/src/pp.02.03-Lock_solution/justfile b/bin/src/pp.02.03-Lock_solution/justfile new file mode 100644 index 0000000..6373652 --- /dev/null +++ b/bin/src/pp.02.03-Lock_solution/justfile @@ -0,0 +1,25 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc + +_exec class: clean compile + mvn exec:java -Dexec.mainClass="pp.{{class}}" -Dexec.args="" +Factory0: + just _exec Factory0 +Factory1: + just _exec Factory1 +Factory2: + just _exec Factory2 +Factory3: + just _exec Factory3 +Factory4: + just _exec Factory4 diff --git a/bin/src/pp.02.03-Lock_solution/pom.xml b/bin/src/pp.02.03-Lock_solution/pom.xml new file mode 100644 index 0000000..fb124bf --- /dev/null +++ b/bin/src/pp.02.03-Lock_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.02.03-Lock_solution + 1.0-SNAPSHOT + jar + + + pp.Factory0 + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.01-SynchPhilosopher/README.md b/bin/src/pp.03.01-SynchPhilosopher/README.md new file mode 100644 index 0000000..dc4f6d7 --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Dinnierende Philosoph:innen" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-01-SynchPhilosopher.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-dinierende-philosophinnen) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.01-SynchPhilosopher/justfile b/bin/src/pp.03.01-SynchPhilosopher/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.01-SynchPhilosopher/pom.xml b/bin/src/pp.03.01-SynchPhilosopher/pom.xml new file mode 100644 index 0000000..6f69d87 --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.01-SynchPhilosopher + 1.0-SNAPSHOT + jar + + + pp.PhilosopherExperiment + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.01-SynchPhilosopher_solution/README.md b/bin/src/pp.03.01-SynchPhilosopher_solution/README.md new file mode 100644 index 0000000..dc4f6d7 --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Dinnierende Philosoph:innen" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-01-SynchPhilosopher.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-dinierende-philosophinnen) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.01-SynchPhilosopher_solution/justfile b/bin/src/pp.03.01-SynchPhilosopher_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.01-SynchPhilosopher_solution/pom.xml b/bin/src/pp.03.01-SynchPhilosopher_solution/pom.xml new file mode 100644 index 0000000..b4f0c16 --- /dev/null +++ b/bin/src/pp.03.01-SynchPhilosopher_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.01-SynchPhilosopher_solution + 1.0-SNAPSHOT + jar + + + pp.PhilosopherExperiment + 19 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify/README.md b/bin/src/pp.03.02-BoundedQueueWaitNotify/README.md new file mode 100644 index 0000000..12cb5d9 --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "``wait``/``notifyAll`` für Ringpuffer" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-02-BoundedQueueWaitNotify.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-waitnotifyall-für-ringpuffer) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify/justfile b/bin/src/pp.03.02-BoundedQueueWaitNotify/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify/pom.xml b/bin/src/pp.03.02-BoundedQueueWaitNotify/pom.xml new file mode 100644 index 0000000..f20941f --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.02-BoundedQueueWaitNotify + 1.0-SNAPSHOT + jar + + + pp.BoundedBuffer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/README.md b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/README.md new file mode 100644 index 0000000..12cb5d9 --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "``wait``/``notifyAll`` für Ringpuffer" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-02-BoundedQueueWaitNotify.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-waitnotifyall-für-ringpuffer) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/justfile b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/pom.xml b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/pom.xml new file mode 100644 index 0000000..b4580bc --- /dev/null +++ b/bin/src/pp.03.02-BoundedQueueWaitNotify_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.02-BoundedQueueWaitNotify_solution + 1.0-SNAPSHOT + jar + + + pp.BoundedBuffer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal/README.md b/bin/src/pp.03.03-BoundedQueueAwaitSignal/README.md new file mode 100644 index 0000000..dee18ac --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "``await``/``signal`` für Ringpuffer” +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-03-BoundedQueueAwaitSignal.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-awaitsignal-für-ringpuffer) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal/justfile b/bin/src/pp.03.03-BoundedQueueAwaitSignal/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal/pom.xml b/bin/src/pp.03.03-BoundedQueueAwaitSignal/pom.xml new file mode 100644 index 0000000..8030e3b --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.03-BoundedQueueAwaitSignal + 1.0-SNAPSHOT + jar + + + pp.BoundedBuffer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/README.md b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/README.md new file mode 100644 index 0000000..dee18ac --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "``await``/``signal`` für Ringpuffer” +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-03-BoundedQueueAwaitSignal.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/03-Solutions.html#laboraufgabe-awaitsignal-für-ringpuffer) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/03-steuerung.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/03-steuerung.html) diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/justfile b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/pom.xml b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/pom.xml new file mode 100644 index 0000000..90093ec --- /dev/null +++ b/bin/src/pp.03.03-BoundedQueueAwaitSignal_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.03.03-BoundedQueueAwaitSignal_solution + 1.0-SNAPSHOT + jar + + + pp.BoundedBuffer + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.01-RunnableReturn/README.md b/bin/src/pp.04.01-RunnableReturn/README.md new file mode 100644 index 0000000..3fa85f7 --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Thread für ``Runnable`` mit Rückgabewert" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-01-RunnableWithResult.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-thread-für-runnable-mit-rückgabewert) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.01-RunnableReturn/justfile b/bin/src/pp.04.01-RunnableReturn/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.01-RunnableReturn/pom.xml b/bin/src/pp.04.01-RunnableReturn/pom.xml new file mode 100644 index 0000000..2a010e3 --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.01-RunnableReturn + 1.0-SNAPSHOT + jar + + + pp.Main + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.01-RunnableReturn_solution/README.md b/bin/src/pp.04.01-RunnableReturn_solution/README.md new file mode 100644 index 0000000..3fa85f7 --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Thread für ``Runnable`` mit Rückgabewert" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-01-RunnableWithResult.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-thread-für-runnable-mit-rückgabewert) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.01-RunnableReturn_solution/justfile b/bin/src/pp.04.01-RunnableReturn_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.01-RunnableReturn_solution/pom.xml b/bin/src/pp.04.01-RunnableReturn_solution/pom.xml new file mode 100644 index 0000000..267481c --- /dev/null +++ b/bin/src/pp.04.01-RunnableReturn_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.01-RunnableReturn_solution + 1.0-SNAPSHOT + jar + + + pp.Main + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.02-Future/README.md b/bin/src/pp.04.02-Future/README.md new file mode 100644 index 0000000..bd2c085 --- /dev/null +++ b/bin/src/pp.04.02-Future/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Asynchrone Ausführung mit ``Callable`` und ``Future``" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-02-Future.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-asynchrone-ausführung-mit-callable-und-future) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.02-Future/justfile b/bin/src/pp.04.02-Future/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.04.02-Future/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.02-Future/pom.xml b/bin/src/pp.04.02-Future/pom.xml new file mode 100644 index 0000000..a390e40 --- /dev/null +++ b/bin/src/pp.04.02-Future/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.02-Future + 1.0-SNAPSHOT + jar + + + pp.Main + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.02-Future_solution/README.md b/bin/src/pp.04.02-Future_solution/README.md new file mode 100644 index 0000000..bd2c085 --- /dev/null +++ b/bin/src/pp.04.02-Future_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Asynchrone Ausführung mit ``Callable`` und ``Future``" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-02-Future.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-asynchrone-ausführung-mit-callable-und-future) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.02-Future_solution/justfile b/bin/src/pp.04.02-Future_solution/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.04.02-Future_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.02-Future_solution/pom.xml b/bin/src/pp.04.02-Future_solution/pom.xml new file mode 100644 index 0000000..1839240 --- /dev/null +++ b/bin/src/pp.04.02-Future_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.02-Future_solution + 1.0-SNAPSHOT + jar + + + pp.Main + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.03-ThreadPoolSize/README.md b/bin/src/pp.04.03-ThreadPoolSize/README.md new file mode 100644 index 0000000..3a03d3a --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Thread Pools" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-03-ThreadPoolSize.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-thread-pools) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.03-ThreadPoolSize/justfile b/bin/src/pp.04.03-ThreadPoolSize/justfile new file mode 100644 index 0000000..848084f --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile exec:java +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.03-ThreadPoolSize/pom.xml b/bin/src/pp.04.03-ThreadPoolSize/pom.xml new file mode 100644 index 0000000..56792dd --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.03-ThreadPoolSize + 1.0-SNAPSHOT + jar + + + pp.Task + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.04.03-ThreadPoolSize_solution/README.md b/bin/src/pp.04.03-ThreadPoolSize_solution/README.md new file mode 100644 index 0000000..3a03d3a --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Thread Pools" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-03-ThreadPoolSize.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/04-Solutions.html#laboraufgabe-thread-pools) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/04-threadpools.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/04-threadpools.html) diff --git a/bin/src/pp.04.03-ThreadPoolSize_solution/justfile b/bin/src/pp.04.03-ThreadPoolSize_solution/justfile new file mode 100644 index 0000000..edbee11 --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize_solution/justfile @@ -0,0 +1,20 @@ +default: + mvn clean compile exec:java + +innerClass: (_exec "pp.TaskInnerClass" "") +lambda: (_exec "pp.TaskLambda" "") +staticClass: (_exec "pp.TaskStaticClass" "") + +_exec class args: + mvn exec:java -Dexec.mainClass={{class}} -Dexec.args={{args}} + +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.04.03-ThreadPoolSize_solution/pom.xml b/bin/src/pp.04.03-ThreadPoolSize_solution/pom.xml new file mode 100644 index 0000000..a89caae --- /dev/null +++ b/bin/src/pp.04.03-ThreadPoolSize_solution/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + pp + pp.04.03-ThreadPoolSize_solution + 1.0-SNAPSHOT + jar + + + pp.TaskLambda + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.05.01-CounterAtomic/README.md b/bin/src/pp.05.01-CounterAtomic/README.md new file mode 100644 index 0000000..ec96a93 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Counter mit Atomics threadsicher machen" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/05-01-CounterAtomic.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/05-Solutions.html#laboraufgabe-counter-mit-atomics-threadsicher-machen) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/05-atomics.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/05-atomics.html) diff --git a/bin/src/pp.05.01-CounterAtomic/justfile b/bin/src/pp.05.01-CounterAtomic/justfile new file mode 100644 index 0000000..43d3962 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile test +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.05.01-CounterAtomic/pom.xml b/bin/src/pp.05.01-CounterAtomic/pom.xml new file mode 100644 index 0000000..29d7273 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + pp + pp.05.01-CounterAtomic + 1.0-SNAPSHOT + jar + + + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/bin/src/pp.05.01-CounterAtomic_solution/README.md b/bin/src/pp.05.01-CounterAtomic_solution/README.md new file mode 100644 index 0000000..ec96a93 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic_solution/README.md @@ -0,0 +1,7 @@ +# Laboraufgabe "Counter mit Atomics threadsicher machen" +- [Aufgabenstellung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/05-01-CounterAtomic.html) +- [Musterlösung](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/labs/05-Solutions.html#laboraufgabe-counter-mit-atomics-threadsicher-machen) + +# Materialien +- [Folien](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/slides/05-atomics.html) +- [Skript](https://services.informatik.hs-mannheim.de/~s.leuchter/pp/notes/05-atomics.html) diff --git a/bin/src/pp.05.01-CounterAtomic_solution/justfile b/bin/src/pp.05.01-CounterAtomic_solution/justfile new file mode 100644 index 0000000..43d3962 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic_solution/justfile @@ -0,0 +1,12 @@ +default: + mvn clean compile test +exec args: + mvn exec:java -Dexec.args={{args}} +clean: + mvn clean +compile: + mvn compile +test: + mvn test +javadoc: + mvn javadoc:javadoc diff --git a/bin/src/pp.05.01-CounterAtomic_solution/pom.xml b/bin/src/pp.05.01-CounterAtomic_solution/pom.xml new file mode 100644 index 0000000..2b5d6c9 --- /dev/null +++ b/bin/src/pp.05.01-CounterAtomic_solution/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + pp + pp.05.01-CounterAtomic_solution + 1.0-SNAPSHOT + jar + + + 10 + UTF-8 + + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.projectlombok + lombok + 1.18.30 + provided + + + net.jcip + jcip-annotations + 1.0 + provided + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 + + private + en_US + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..88d3dc7 --- /dev/null +++ b/pom.xml @@ -0,0 +1,6 @@ + + 4.0.0 + PP-Labs_WS-2024-2025 + PP-Labs_WS-2024-2025 + 0.0.1-SNAPSHOT + \ No newline at end of file