Cos'è Call in C ++

Cos'è Call in C ++
IL forchetta() è una richiesta di sistema per la creazione dei processi Crea figlio con l'aiuto del processo genitore. Quando forchetta() viene utilizzato, si forma un nuovo processo figlio indipendente dal processo genitore e possiede la propria archiviazione e l'allocazione delle risorse.

In C ++, il forchetta() Chiamate di sistema duplica il processo genitore per produrre un nuovo processo figlio. Viene impiegato per produrre un nodo figlio che è una replica perfetta del nodo principale, completo di tutti i suoi attributi, descrittori di file system e posizioni di archiviazione. È utile negli scenari quando un utente desidera creare un'istanza di un programma già in esecuzione sul sistema o vuole avviare un nuovo programma.

Dichiarazione di fork () in C++

IL "forchetta ()" funzione, che proviene da sistemi operativi UNIX/Linux non fa parte della libreria C ++ standard, quindi è accessibile tramite il “UNISTD.H" File di intestazione.

#includere
pid_t fork ();

Valori di ritorno nel fork ()

IL forchetta() La funzione restituisce due valori 0 e -1.

  • Potrebbe fornire il valore di restituzione del processo figlio come 0 dando il processo genitore, al completamento con successo, l'ID processo del processo figlio.
  • Esso restituisce un valore -1 Quando il processo figlio non viene creato e genererà automaticamente un errore.

Significato del fork () in C++

  • Usando forchetta (), Gli sviluppatori eseguono l'elaborazione parallela contemporaneamente creando più processi.
  • Consente al processo di creare un clone di se stesso chiamato processo figlio.
  • Ci consente di creare programmi complessi con sicurezza e una migliore tolleranza agli errori.
  • I processi genitore e figlio funzionano contemporaneamente.
  • Utilizzato per applicazioni multitasking.
  • Aiuta due diversi processi indipendenti a comunicare tra loro.

Un semplice esempio di fork () in c++

Ecco un esempio di come utilizzare C ++ forchetta () funzione correttamente:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

pid_t child_id = fork ();
if (Child_id == -1)
Perror ("fork");
exit (exit_failure);

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

altro
cout << "Message from Child Process: " << child_id ;

restituzione 0;

Nell'esempio sopra, il forchetta() Il metodo risponde in entrambi i processi senza argomenti nulli. Come visto sotto l'output, l'ID processo di un processo figlio è il processo principale e il processo figlio stesso restituisce 0. Il genitore restituisce -1 se non funziona.

Produzione

Conclusione

Nel complesso, il forchetta() La funzione di sistema è una caratteristica forte che consente ai programmatori C ++ di generare e controllare numerosi processi. La chiamata di sistema forchetta() Aumenta le prestazioni di programmi complessi e consente di eseguire multi processi. Impiega parametri zero e restituisce i valori interi con processi corrispondenti.