рандом |
Здравствуйте, гость ( Вход | Регистрация )
рандом |
eldar85 |
15.7.2010, 15:36
Сообщение
#1
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
пользуюсь рандомом такого вида
но если его запускать в цикле то получается слишком много повторов одного и того же числа, так как он генерит новое число со следующей секунды... нет ли способа усовершенствовать как то этот подход чтобы повторы были минимальны? кто нить пользовался такой штукой? |
|
|
SABROG |
2.8.2010, 17:46
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Юр, мне кажется это не так.
Цитата The sequence of random numbers generated is deterministic per thread. For example, if two threads call qsrand(1) and subsequently calls qrand(), the threads will get the same random number sequence. Последовтельность сгенеренных номеров предопределены для каждого потока. Для примера 2 потока вызывают qsrand(1) и подпоследовательность вызывает qrand(), потоки получат ту же последовательность номеров. Поэтому я предложил такой вариант:
В итоге распределения "семечек" по потокам может быть таким: Thread 1 - 1 Thread 2 - 50 Thread 3 - 23 Thread 4 - 78 ... А уж от этих "семечек" мы получаем разную последовательность случайных чисел при вызове qrand() в каждом из потоков. В принципе можно еще как-нибудь так извернуться: qsrand((int)this) Сообщение отредактировал SABROG - 2.8.2010, 17:48 |
|
|
Текстовая версия | Сейчас: 5.12.2024, 1:38 |