Почему rand () не такой случайный после fork?

#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);
}

Печатает одно и то же (разное при каждом запуске) число 10 раз - ожидалось? У меня есть более сложный фрагмент кода, в котором каждый разветвленный процесс выполняется по очереди - без разницы

10
задан Mr_and_Mrs_D 14 February 2013 в 16:21
поделиться