Co to jest wywołanie systemu widelców w C ++

Co to jest wywołanie systemu widelców w C ++
widelec() to wezwanie systemowe do tworzenia procesów tworzenia dzieci za pomocą procesu nadrzędnego. Gdy widelec() jest używany, powstaje nowy proces dzieci, który jest niezależny od procesu nadrzędnego i posiada własną pamięć i alokacja zasobów.

W C ++, widelec() System wywołuje powiela proces nadrzędny w celu stworzenia nowego procesu dziecka. Jest zatrudniony do produkcji węzła dziecięcego, który jest idealną repliką węzła nadrzędnego, wraz ze wszystkimi jego atrybutami, deskryptorami systemu plików i lokalizacji przechowywania. Jest to przydatne w scenariuszach, gdy użytkownik chce stworzyć instancję programu już działającego w systemie lub chce rozpocząć nowy program.

Deklaracja Fork () w C++

"widelec ()" Funkcja, która pochodzi z systemów operacyjnych UNIX/Linux, nie jest częścią standardowej biblioteki C ++, dlatego jest dostępna za pośrednictwem „Unistd.H" plik nagłówka.

#włączać
PID_T Fork ();

Zwracaj wartości w rozwidleniu ()

widelec() Funkcja zwraca dwie wartości 0 i -1.

  • Może zapewnić wartość zwrotu procesu dla dzieci jako 0, podając proces nadrzędny, po pomyślnym zakończeniu identyfikator procesu dzieci.
  • To Zwraca wartość -1 Po utworzeniu procesu dziecka i automatycznie wygeneruje błąd.

Znaczenie widelca () w C++

  • Używając widelec (), Deweloperzy wykonują jednocześnie równoległe przetwarzanie, tworząc wiele procesów.
  • Pozwala procesowi stworzyć samodzielny klon zwany procesem dziecięcym.
  • Umożliwia nam tworzenie złożonych programów z bezpieczeństwem i lepszą tolerancją na usterki.
  • Procesy rodzica i dzieci działają jednocześnie.
  • Używane do aplikacji wielozadaniowych.
  • Pomaga dwóm różnym niezależnym procesom komunikować się ze sobą.

Prosty przykład widelec () w c++

Oto przykład wykorzystania C ++ widelec () funkcja pomyślnie:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

PID_T child_id = widelec ();
if (child_id == -1)
Perror („widelec”);
exit (exit_failure);

else if (child_id> 0)
Cout << "Message from Parent process My child has process ID: " << child_id << endl;

w przeciwnym razie
Cout << "Message from Child Process: " << child_id ;

powrót 0;

W powyższym przykładzie widelec() Metoda odpowiada w obu procesach bez żadnych lub zerowych argumentów. Jak widać poniżej wyjście, identyfikatorem procesu dziecka jest procesy nadrzędne, a sam proces dziecka zwraca 0. Rodzic zwraca -1, jeśli nie działa.

Wyjście

Wniosek

Ogólnie widelec() Funkcja systemu jest silną funkcją, która pozwala programistom C ++ generować i kontrolować wiele procesów. Całek systemowy widelec() zwiększa wydajność złożonych programów i umożliwia wykonywanie wielu procesów. Wymaga zerowych parametrów i zwraca wartości liczb całkowitych z odpowiednimi procesami.