“但是不管软件如何重启,生成的结果不能跟之前的有重复的” ------ 这个就更含糊了
a. 保证每一次运行时,本次生成的1万个随机数之间不重复(这个很简单,1万个数量很少,那只要每次生成一个随机数时去已经生成的随机数中找一找,找到就丢弃)
b. 保证每一次运行时,本次生成的随机数与之前运行生成的随机数之间不重复(这个需要将每次运行生成的随机数都保存到同一个文件中,1万个随机数占用420Kbytes。如果你运行的次数很多的话,需要类似于数据库存储的技术)
c. 保证不同机器上每一次运行时,本次生成的随机数与其它机器运行生成的随机数之间不重复
c.1. 如果有能力共享“已生成随机数列表”的话,只要在b的基础上增加访问共享数据的功能,互斥访问数据。
c.2. 如果不能共享“已生成随机数列表”的话,那就要类似CoCreateGuid一样,根据MAC地址、时间等软硬件信息生成时空唯一性序列。但这部分数据肯定就不能保证“随机性”