Threads in Klassen



  • Sorry, wollte nicht den ganzen Code posten.
    randomize() wird in WM_CREATE aufgerufen!



  • Du musst den random in *jedem* Thread initialisieren! Also bringt es nix wenn Du dies in WM_CREATE machst (da dies ja ein ganz anderer Thread ist!).
    Auch wenn Du es in dem Thread machst, und Du die Threads ganz schnell hintereinader startest, kann es sein dass der gleiche Seed verwendet wird.... also füge noch irgendein globaler Zähler hinzu...



  • Der Randomgenerator ist also nicht global, nichtmal innerhalb eines Prozesses!

    Ich habe das Initialisieren jetzt mal in jedem Thread vorgenommen. Das bringt auch noch nix. Fügt man jedoch wie du sagtest einen Counter, der pro Initialisierung um sagen wir 100 erhhöt wird, zu time hinzu wird das gewünschte Ergebnis erzielt.

    Interessante Sache, vielen Dank für die Tipps...

    ~nirsaja



  • Jochen Kalmbach schrieb:

    Du musst den random in *jedem* Thread initialisieren!

    Nein, eigentlich nicht. Es reicht einmal beim Programmaufruf.
    Oder irr ich mich? Bin mir nicht 100% sicher.

    mfg.



  • joomoo schrieb:

    Jochen Kalmbach schrieb:

    Du musst den random in *jedem* Thread initialisieren!

    Nein, eigentlich nicht. Es reicht einmal beim Programmaufruf.
    Oder irr ich mich? Bin mir nicht 100% sicher.

    Du irrst Dich (debugge doch einfach mal in srand rein, dann siehst Du es)


Anmelden zum Antworten