[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 54: | Zeile 54: | ||
</source> | </source> | ||
</loop_listing> | </loop_listing> | ||
</p> | |||
<br /> | |||
==== Definition: Race Conditions ==== | |||
<p> | |||
<loop_area type="definition"> | |||
<p> | |||
Unter '''Race Conditions''' versteht man Situationen, bei denen zwei oder mehr Prozesse (bzw. Threads) ein oder mehrere Betriebsmittel gemeinsam nutzen, und das Ergebnis der Ausführung von der zeitlichen Reihenfolge der Zugriffe der beteiligten Prozesse oder Threads auf das (bzw. die) Betriebsmittel abhängt. | |||
</p> | |||
</loop_area> | |||
</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();
}
}
Unter Race Conditions versteht man Situationen, bei denen zwei oder mehr Prozesse (bzw. Threads) ein oder mehrere Betriebsmittel gemeinsam nutzen, und das Ergebnis der Ausführung von der zeitlichen Reihenfolge der Zugriffe der beteiligten Prozesse oder Threads auf das (bzw. die) Betriebsmittel abhängt.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png