Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » rand() und Multithreading

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.12.2008, 13:53 Uhr
Tommix



Hallo,

Das Thema hat zwar nicht direkt was mit dem Standard zu tun, mit dem Betriebssystem aber eigentlich auch nicht, drum frage ich mal hier: Ich möchte in parallelen Threads unterschiedliche Serien von Zufallszahlen generieren. Wenn ich srand((unsigned)time(0)) in der Hauptfunktion, die die Threads startet aufrufe bringt das nichts. Es wird in allen Threads die gleiche Folge von Zufallszahlen generiert und auch bei jedem Aufruf die selbe. Rufe ich srand in der Threadfunktion, funktioniert das logischerweise ebenfalls nicht, da die Threads praktisch zeitgleich starten. Ich habe mir jetzt so geholfen, daß ich in der Hauptfunktion für jeden Thread einen Wert

C++:
unsigned seed = rand();


bestimme, diesen dann der Threadfunktion als Parameter übergebe und in der Threadfunktion

C++:
srand(seed);


an den Anfang setze. Das funktioniert zwar, erscheint mir aber ziehmlich umständlich. Kennt da jemand eine elegantere Lösung? Boost scheint in der Richtung einiges auf Lager zu haben.

Gruß,
Tommix

Dieser Post wurde am 02.12.2008 um 13:53 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.12.2008, 16:04 Uhr
virtual
Sexiest Bit alive
(Operator)


rand_r auf jedem POSIX.2001 System.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: