parallelism:monitor:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
parallelism:monitor:start [2025/03/09 08:00] – [Race condition und Lösungen] Martin Pabst | parallelism:monitor:start [2025/03/09 11:42] (aktuell) – [Aufgabe 2] Martin Pabst | ||
---|---|---|---|
Zeile 103: | Zeile 103: | ||
<script type=" | <script type=" | ||
- | |||
Counter counter = new Counter(); | Counter counter = new Counter(); | ||
+ | ArrayList< | ||
for (int i = 0; i < 3; i++) { | for (int i = 0; i < 3; i++) { | ||
Zeile 110: | Zeile 110: | ||
| | ||
| | ||
+ | | ||
| | ||
} | } | ||
+ | |||
+ | for (var t : threads) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | println(" | ||
class Counter { | class Counter { | ||
Zeile 139: | Zeile 146: | ||
for (long i = 1; i <= increment; i++) { | for (long i = 1; i <= increment; i++) { | ||
| | ||
- | if(i % (increment/ | + | if(i % (increment / 10) == 0) println(Thread.currentThread().getName() + " hat " + i + " mal erhöht!" |
} | } | ||
- | println(Thread.currentThread().getName() + " | + | println(Thread.currentThread().getName() + " |
} | } | ||
Zeile 173: | Zeile 180: | ||
<script type=" | <script type=" | ||
Counter counter = new Counter(); | Counter counter = new Counter(); | ||
+ | ArrayList< | ||
for (int i = 0; i < 3; i++) { | for (int i = 0; i < 3; i++) { | ||
Zeile 178: | Zeile 186: | ||
| | ||
| | ||
+ | | ||
| | ||
} | } | ||
+ | |||
+ | for (var t : threads) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | println(" | ||
+ | |||
class Counter { | class Counter { | ||
Zeile 185: | Zeile 201: | ||
| | ||
- | | + | |
semaphore.acquire(); | semaphore.acquire(); | ||
long i = counter; | long i = counter; | ||
Zeile 212: | Zeile 228: | ||
| | ||
} | } | ||
- | println(" | + | println(" |
} | } | ||
Zeile 258: | Zeile 274: | ||
<script type=" | <script type=" | ||
NaiveCounter counter = new NaiveCounter(); | NaiveCounter counter = new NaiveCounter(); | ||
+ | ArrayList< | ||
for (int i = 0; i < 3; i++) { | for (int i = 0; i < 3; i++) { | ||
Zeile 263: | Zeile 280: | ||
| | ||
| | ||
+ | | ||
| | ||
} | } | ||
+ | |||
+ | for (var t : threads) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | println(" | ||
+ | |||
+ | |||
class NaiveCounter { | class NaiveCounter { | ||
Zeile 300: | Zeile 326: | ||
if(i % (increment / 10) == 0) println(Thread.currentThread().getName() + " hat " + i + " mal erhöht!" | if(i % (increment / 10) == 0) println(Thread.currentThread().getName() + " hat " + i + " mal erhöht!" | ||
} | } | ||
- | println(Thread.currentThread().getName() + " | + | println(Thread.currentThread().getName() + " |
} | } | ||
parallelism/monitor/start.1741507235.txt.gz · Zuletzt geändert: 2025/03/09 08:00 von Martin Pabst