进程中随机函数的影响
主进程使用过随机数发生器,子进程内rand 返回的结果是相同的
使用随机数发生器的西数有 rand、 srand、shuffle、array_ rand
<?php
$workerNum = 3 ;
//stand();
//mt_rand(1,10);
//rand(1,10);
//$arr = [1,2,3,4];
//shuffle($arr);
//array_rand($arr);
for($i = 0; $i < $workerNum; $i++) {
$process = new Swoole\Process("abc");
$process-›start();
}
function abc(Swoole\Process $process) {
//stand();
echo PHP_EOL. rand(0, 10) . PHP_EOL;
$process-›exit();
}
sleep(1); 解决办法:
1.主进程内不使用随机数西数。
2.在子进程内使用 srand等随机函数重新设置。
上一篇:进程隔离


