我想是种子没选好吧
我的办法在父线程中调用srand(time(NULL))使用时间做种子

解决方案 »

  1.   

    难到不同的线程一定要先选种子吗?如果选同一个seed就不会出来随即数了???
    但如果我只有一个线程就不需要选种子就会出来随即数的,这是为什么????
      

  2.   

    这是自然的,因为rand()对于各线程是独立的,就是说每个线程在线程切换时都保存当前随机的状态。
      

  3.   

    在父线程中调用srand(time(NULL))使用时间做种子也是没用的,因为rand()对于各线程是独立的 
      

  4.   

    蚊子王,你说rand()对于各线程是独立的,是不是要每个线程都调用srand()???
      

  5.   

    如果要真随机,还是每个线程都调用srand(time(NULL))吧
      

  6.   

    srand()函数中的参数是不是随即数序列的起始点???
      

  7.   

    随机函数一般都是采取线性同余法,他的算法可能是这样的:
    Seed = MULT * Seed + INC;
    其中MULT和INC都是常数,而Seed是个static的变量,返回值可能是Seed或Seed经过处理的值。
    srand(_Seed)函数就是把_Seed给Seed赋值,所以“srand()函数中的参数是随即数序列的起始点”大意上是对的。