我有一個程序,它使用了大量的隨機數來決定它需要在做,並且具有基於PRNG的輸出很多很多的執行路徑。在將我的頭髮拉出來試圖調試它之後,我決定讓所有PRNG調用引用相同的Random實例,該實例在實例化時已被播種爲硬編碼數字。這樣,每次運行程序時,都會出現相同的錯誤。 不幸的是,我每次運行它時都會得到不同的錯誤(儘管它看起來行爲幾乎相同)。隨機與某些種子似乎仍然隨機
我搜索的代碼,任何很多很多次錯過的Math.random()的調用和我保證你有沒有。
任何想法?
編輯:我已證實,正在生成的數字是相同的,但行爲仍是不確定的。這個程序不是多線程的。仍然完全困惑。
所以PRNG的表現不如預期,但我仍然有不確定性。非確定性可能會被無意地帶入程序中,有哪些方法?
1.發佈一些代碼。 2.你有使用發生器的多個線程嗎? 3.使用WebStart時,Sun的Random實現中存在一些錯誤,或許是這種情況。 – npe
我無法在少量代碼內重現問題。目前該程序中有幾千行代碼。 –
沒有多個線程,沒有使用WebStart。 –