2
, 그것은 말한다 :시드를 설정하지 않은 경우 하위 프로세스가 동일한 난수를 생성하지 않는 이유는 무엇입니까? <code>srand</code>에 대한 문서에서
또 다른 경우는 (부모와 같은 시드 값을 공유하는 자식 프로세스를 피하기 위해 "포크"후 "부터 srand"결과적으로 각을 호출 할 수 있다는 것입니다 다른).
나는이 우연히 결코 맹세 할 수있다, 그래서 그것을 테스트 :
$ perl -E 'srand; for (1 .. 8) { next if fork; say rand; exit;} wait for 1 .. 8'
0.13028028358622
0.13028028358622
0.13028028358622
0.13028028358622
0.13028028358622
0.13028028358622
0.13028028358622
0.13028028358622
를 따라서, 경우 :
$ perl -E 'for (1 .. 8) { next if fork; say rand; exit;} wait for 1 .. 8'
0.301967407417582
0.497966311014356
0.05798998109913
0.907357103963481
0.240495550287054
0.74279685605234
0.368774714022042
0.562179033951001
가 그럼 난
srand
와 부모의 씨앗을 설정 테스트를 당신은 부모에서 씨앗을 설정, 아이들은 모두 동일한 가치를 얻을. 첫 번째 예에서 왜 이런 일이 발생하지 않습니까?