Estoy tratando el siguiente código C:¿Necesita saber cómo funciona el tenedor?
int main()
{
printf("text1\n");
fork();
printf("text2\n");
return 0;
}
que estaba esperando para obtener la salida donde consigo dos "texto1" y dos "texto2", como:
text1
text1
text2
text2
Pero, soy , en cambio, obteniendo:
text1
text2
text2
solo uno "text1" ??? Ok, si el proceso hijo ejecuta desde el tenedor(), entonces ¿Por qué recibo dos "texto1" para el siguiente:
int main()
{
printf("text1");
fork();
printf("text2\n");
return 0;
}
la salida ahora es:
text1text2
text1text2
Si el proceso hijo se inicia después de el tenedor, la salida debe ser:
text1
text2
text2
¿Por qué esperarías dos copias de "text1"? Solo hay * un * proceso hasta que toques el 'tenedor'. – dmckee
hombre tenedor? (..........) –
@ user749391: El código funciona como se esperaba. Las preguntas como la suya no se pueden responder de manera significativa hasta que realmente explique * por qué * espera ver dos "texto1". – AnT