我有一个QT应用程序,运行2个以上的线程.
在线程内部,我使用qrand函数生成一个随机数.以下是用于获取数字的代码,其中m_fluctuations max是double.
int fluctuate = qrand() % (int)(m_FluctuationMax * 100);
Run Code Online (Sandbox Code Playgroud)
我尝试在主线程中添加以下代码,也在线程类中添加.
QTime now = QTime::currentTime();
qsrand(now.msec());
Run Code Online (Sandbox Code Playgroud)
现在的问题是,每次启动应用程序时,生成的值总是相同的.
它们不应该是不同的,因为种子是由'currentTime()'设置的.
谢谢
我在线程/类构造函数中有我的qsrand().当我将它移动到run()函数时,它开始随机工作.不知道为什么它不能从构造函数中工作.谢谢大家的帮助.