Die Tutorials, Handbücher und andere Ressourcen, die ich über fork()
lese, enthalten normalerweise nur Beispiele, die mit Threads viel besser gelöst werden könnten. Sie kommunizieren nur, machen einige grundlegende Aufgaben und kommunizieren erneut, um die Ergebnisse zu teilen oder anzuzeigen. Ich habe das Gefühl, dass, solange Sie nicht ein fremdes Programm starten (indem Sie den Vater fortführen und das Kind dieses ausländische Programm startet), sind Fäden immer einfacher zu handhaben, flexibler und sicherer als Gabeln.Nützlichkeit von fork() außer Ausführen von fremden Programmen
Gibt es noch ein anderes Anwendungsgebiet, wenn ein fork()
der Verwendung von Threads überlegen wäre? Bis auf einen Virus.
Auf einigen/vielen Betriebssystemen sind Prozesse _cheaper_ als Threads. – ildjarn
Tatsächlich sind Threads oft viel komplizierter zu verwenden als Prozesse für Tasks, die nicht viel von den zu teilenden Daten benötigen. –
@Matteo: Es kommt darauf an. Ich finde zum Beispiel, dass die Threads von Qt um ein Vielfaches einfacher zu benutzen sind als ein Programm, um mit Kopien von sich selbst zu kommunizieren. – vsz