#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次 - 预计? 我具有更复杂的一段代码,其中每个叉状过程反过来运行 - 没有差别为什么rand()在fork之后不是那么随机的?
非常感谢你的答案 - 现在清楚:) – 2011-12-24 12:21:55