[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
<p> | <p> | ||
{{#index:Race Conditions}} | |||
Das folgende Video zeigt ein anschauliches Beispiel für Race Conditions: | Das folgende Video zeigt ein anschauliches Beispiel für Race Conditions: | ||
</p> | </p> | ||
Zeile 7: | Zeile 8: | ||
{{#ev:youtube|kSQJPIWzd5U|700}} | {{#ev:youtube|kSQJPIWzd5U|700}} | ||
</loop_media> | </loop_media> | ||
</p> | |||
<br /> | |||
==== Quellcode aus dem Video ==== | |||
<p> | |||
Hier ist der Quellcode aus dem Video: | |||
</p> | |||
<p> | |||
<loop_listing title="Beispiel: Race Conditions" description="JAVA-Beispielprogramm mit zwei Threads, bei der Ausführung kommt es zu Race Conditions."> | |||
<source lang="java" line="true"> | |||
public class Beispiel_Race_Conditions { | |||
static int counter = 0; | |||
public static class Counter_Thread_A extends Thread { | |||
public void run() { | |||
counter = 10; | |||
counter++; | |||
counter++; | |||
System.out.println("A-Counter: " + counter); | |||
} | |||
} | |||
public static class Counter_Thread_B extends Thread { | |||
public void run() { | |||
counter = 20; | |||
counter++; | |||
counter++; | |||
counter++; | |||
counter++; | |||
counter++; | |||
counter++; | |||
System.out.println("B-Counter: " + counter); | |||
} | |||
} | |||
public static void main(String[] args) { | |||
Thread a = new Counter_Thread_A(); | |||
Thread b = new Counter_Thread_B(); | |||
a.start(); | |||
b.start(); | |||
} | |||
} | |||
</source> | |||
</loop_listing> | |||
</p> | </p> | ||
{{#index:Race Conditions}} Das folgende Video zeigt ein anschauliches Beispiel für Race Conditions:
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Hier ist der Quellcode aus dem Video:
1 public class Beispiel_Race_Conditions {
2
3 static int counter = 0;
4
5 public static class Counter_Thread_A extends Thread {
6 public void run() {
7 counter = 10;
8 counter++;
9 counter++;
10 System.out.println("A-Counter: " + counter);
11 }
12 }
13
14 public static class Counter_Thread_B extends Thread {
15 public void run() {
16 counter = 20;
17 counter++;
18 counter++;
19 counter++;
20 counter++;
21 counter++;
22 counter++;
23 System.out.println("B-Counter: " + counter);
24 }
25 }
26
27 public static void main(String[] args) {
28 Thread a = new Counter_Thread_A();
29 Thread b = new Counter_Thread_B();
30 a.start();
31 b.start();
32 }
33 }
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png