私は各スレッドが使用する乱数を生成しようとしていますが、すべてのスレッドは同じ数を生成します。スレッドは同じ乱数を生成しますか?
プログラムを毎回実行すると番号が変わりますが、すべてのスレッドが特定の実行で同じ番号を生成します。
スレッドごとに異なる乱数を生成するにはどうすればよいですか?スレッドが同じ秒で乱数を生成した場合、時間とともに乱数ジェネレータのシード
void *Customer(void *customer_id)
{
unsigned int iseed = (unsigned int)time(NULL);
srand (iseed);
int rastgele = rand() % 3 + 1;
int *id_ptr,customer_idd;
id_ptr=(int *) customer_id;
customer_idd=*id_ptr;
printf("This is thread : %d %d \n",customer_idd,rastgele);
pthread_exit(NULL);
}
スレッドに種を入れないでください。 – Dave
複数のスレッドtime()で同じ値を与える可能性があります.sveyスレッド同じ値の初期乱数ジェネレータ... –
生成時のシード時間==全くランダムではありません – bestsss