[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:
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();
}
}
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png