进程中随机函数的影响
主进程使用过随机数发生器,子进程内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等随机函数重新设置。
上一篇:进程隔离