读书人

多线程下的随机数有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

多线程下的随机数问题
vb.net 多线程下的随机数,为什么每个线程产生的随机数一样啊,
哪位大哥有解决方法???

**************************************************

Private Function GetRndID(ByVal imin As Integer, ByVal imax As Integer) As Integer

Try
Dim iResult As Integer = 0
Randomize()
iResult = CInt(Int(((imax - imin) * Rnd()) + imin))
Return iResult
Catch ex As Exception
Return 0
End Try

End Function


[解决办法]
在有改不子字,每次新生都一的。理解方法有二
1)由主程生,并把此子程。
2)同主程生一,作子程生的子,再生新的。
[解决办法]
因为他使用时间作种子,多线程之行的时间差不多,所以种子一样,随机数也就一样
可以给每个线程一个不同的id,然后用id+时间作种子

读书人网 >VB Dotnet

热点推荐