004
21.01.2008, 18:49 Uhr
0xdeadbeef
Gott (Operator)
|
Da will ich aber nen Benchmark für sehen.
Aber mal im Ernst, Prozesse und Threads sind unterschiedliche Dinge. Wo du Threads brauchst, nimm Threads, wo du Prozesse brauchst, nimm Prozesse. Zum Beispiel kannst du mit Threads nicht daemonisieren. Ansonsten,
Der Ursprungsprozess hat zweimal fork() != 0, dementsprechend gibt er "1" aus. Der erste Kindprozess hat beim ersten mal fork() == 0 und beim zweiten Mal fork() != 0, dementsprechend gibt er "12" aus. Der zweite Kindprozess des Ursprungsprozesses erlebt das erste fork() nicht mit und hat beim zweiten fork() == 0, dementsprechend gibt er "0" aus, und Der Kindprozess des ersten Kindprozesses erlebt das erste fork() nicht mit, übernimmt aber die im Vaterprozess mit atexit() registrierte Funktion, und hat beim zweitem mal fork() == 0, dementsprechend gibt er "02" aus. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |