前几天我正在做一些娱乐性的低级编程,在我的代码中的某个地方出现了这个东西(使用伪代码):
cointoss计划
char out = '0';
void thread(){ out = '1';}
int main(){
// Creates a thread that will run the function we provided
// The main() will not wait for this thread to finish
runInOwnThread(thread);
printr("%d", out);
return 0;
}
现在在我们的shell中,我们运行cointoss
个程序x
次,我们最终会得到这样的结果:
0011011100001000
我们可以转换为十进制并获得一个随机数
我的问题不是这是否是创建随机数的有效方式,而是关于我们可以判断最终结果是否足够随机以供使用
答案 0 :(得分:2)
不,使用竞争条件不是生成随机数的好方法。结果将是不确定的,但结果很可能会偏重于一个结果。
如果您不关心重量级的值(对您来说足够随机),那么请继续。