¿Qué es la llamada del sistema de bifurcación en c ++?

¿Qué es la llamada del sistema de bifurcación en c ++?
El tenedor() es una llamada del sistema para crear los procesos de creación de niños con la ayuda del proceso principal. Cuando tenedor() se utiliza, se forma un nuevo proceso infantil que es independiente del proceso principal y posee su propia asignación de almacenamiento y recursos.

En c ++, el tenedor() Sistema Las llamadas duplican el proceso principal para producir un nuevo proceso infantil. Se emplea para producir un nodo infantil que sea una réplica perfecta del nodo principal, completo con todos sus atributos, descriptores del sistema de archivos y ubicaciones de almacenamiento. Es útil en escenarios cuando un usuario quiere crear una instancia de un programa que ya se ejecute en el sistema o él/ella quiere comenzar un nuevo programa.

Declaración de Fork () en C++

El "tenedor ()" La función, que proviene de los sistemas operativos Unix/Linux, no es parte de la biblioteca C ++ estándar, por lo tanto, se puede acceder a través del "Unistd.H " archivo de cabecera.

#incluir
pid_t bifor ();

Valores de retorno en la bifurcación ()

El tenedor() la función devuelve dos valores 0 y -1.

  • Puede proporcionar el valor de retorno del proceso del niño como 0 mientras se le da al proceso principal, al finalizar exitosamente, la identificación del proceso del proceso del niño.
  • Él Devuelve un valor -1 Cuando no se crea el proceso infantil, y generará automáticamente un error.

Importancia de la bifurcación () en C++

  • Mediante el uso tenedor (), Los desarrolladores se procesan paralelos al mismo tiempo creando múltiples procesos.
  • Permite que el proceso cree un clon de sí mismo llamado proceso infantil.
  • Nos permite crear programas complejos con seguridad y mejor tolerancia a fallas.
  • Los procesos de los padres y los hijos se ejecutan simultáneamente.
  • Utilizado para aplicaciones multitarea.
  • Ayuda a dos procesos independientes diferentes a comunicarse entre sí.

Un ejemplo simple de bifurcado () en c++

Aquí hay un ejemplo de cómo utilizar C ++ tenedor () función con éxito:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

pid_t child_id = fork ();
if (child_id == -1)
Perror ("tenedor");
salida (exit_failure);

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

demás
cout << "Message from Child Process: " << child_id ;

regresar 0;

En el ejemplo anterior, el tenedor() El método responde en ambos procesos con argumentos no o nulos. Como se ve a continuación la salida, la identificación del proceso del proceso de un niño son los procesos principales, y el proceso infantil mismo devuelve 0. El padre devuelve -1 si no funciona.

Producción

Conclusión

En general, el tenedor() La función del sistema es una característica sólida que permite a los programadores C ++ generar y controlar numerosos procesos. El sistema llamado tenedor() aumenta el rendimiento de los programas complejos y permite hacer múltiples procesos. Toma cero parámetros y devuelve los valores enteros con los procesos correspondientes.