#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i =10;
/* initialize random seed: */
srand(time(NULL));
while(i--){
if(fork()==0){
/* initialize random seed here does not make a difference:
srand(time(NULL));
*/
printf("%d : %d\n",i,rand());
return;
}
}
return (EXIT_SUCCESS);
}
Imprime el mismo número (diferente en cada ejecución) 10 veces - ¿esperado? I tienen una pieza más complicada de código en cada proceso de horquilla se ejecuta a su vez - ninguna diferencia¿Por qué rand() no es tan aleatorio después del tenedor?
Muchas gracias por las respuestas, claro ahora :) –