Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » fork() » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
as_string

Ich glaube, Du verstehst die Aussage, dass die Ausgabe nicht immer gleich ist, nicht richtig.
Das soll bedeuten: Wenn Du das Programm mehrmals ausführst, dann bekommst Du immer wieder unterschiedliche Ausgaben, je nachdem, in welcher Reihenfolge das Betriebssystem die unterschiedlichen Threads aktiviert und anhält.
Die Ausführungs-Reihenfolge ist also nicht deterministisch und damit auch nicht, welcher Thread welchen Wert für i ausgibt.

Laufen wirklich nur maximal 2 Threads parallel? Es wird ja erst ein Kind abgespaltet, das die Ausgabe macht, dann aber gleich weiter läuft, in der for-Schleife wieder zum fork() kommt, also einen weiteren Kind-Prozess abspaltet, während die 20s für den ersten Vater-Prozess noch gar nicht abgelaufen sind. In dem Moment müssten also schon 3 Prozess laufen, denke ich, oder?
Andere Frage ist noch, ist das i als volatil deklariert?

Gruß
Marco
Juergen20 fork()

Meine Frage:
Hallo, ich hätte eine frage zu der Aufgabe welche im Anhang zu sehen ist.
Zu der a):
Die Ausgabe ist nicht immer gleich weil "i" ja immer hochgezählt wird aber das kann doch nicht die ganze Begründung sein. Bei meiner Ausgabe welche ich im Compiler ausprobiert habe ändert sich nur "i".

Zu der b):
Die Antwort ist 2 oder? Also Vater und Kind Prozess


Meine Ideen:
Zu a): Das sich nur "i" ändert
Zu b): 2

Juergen20 hat dieses Bild (verkleinerte Version) angehängt:
fork.png