rand () не подчиняется srand () в Qt Creator - PullRequest
4 голосов
/ 22 августа 2009

Я написал программу в Qt Creator 1.0.0 (Qt версия 4.5.0), где в начале функции main () я поместил

srand(time(0));

Затем я вызываю rand () из другого потока (подкласс QThread). В этой функции rand () выдает одну и ту же последовательность чисел каждый раз, когда я запускаю программу. Я не запускаю программу несколько раз в секунду.

Почему это происходит?

1 Ответ

17 голосов
/ 22 августа 2009

Вам необходимо вызывать srand в каждом потоке, потому что начальное число хранится в блоке, специфичном для потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...