ich möchte gerne ein Programm erstellen das "würfelt " d.h. die Zahlen von 1-6 zufällig erzeugt und auf alle CPU-Kerne verteilen.
Habe ein bißchen mit multiprocessing getestet, allerdings erzeuge ich nur verschieden Prozesse, die seperat laufen. Eigentlich sollte nur die Berechnung auf alle CPU-Kern verteilt werden.
Bin für jeden Tip dankbar, anbei mein Programm
Code: Alles auswählen
import multiprocessing
import random
def worker():
random.seed
eins = 0
zwei = 0
drei = 0
vier = 0
fünf = 0
sechs = 0
for i in range (1,5000000):
a = random.randint(1,6)
if a == 1:
eins = eins + 1
if a == 2:
zwei = zwei + 1
if a == 3:
drei = drei + 1
if a == 4:
vier = vier + 1
if a == 5:
fünf = fünf + 1
if a == 6:
sechs = sechs + 1
print (" Anzahl der Einsen: ", eins)
print (" Anzahl der Zweien: ", zwei)
print (" Anzahl der Dreien: ", drei)
print (" Anzahl der Vieren: ", vier)
print (" Anzahl der Fünfen: ", fünf)
print (" Anzahl der Sechsen: ", sechs)
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker())
jobs.append(p)
p.start()
### Ausgabe ##########################
Anzahl der Einsen: 832077
Anzahl der Zweien: 832354
Anzahl der Dreien: 833209
Anzahl der Vieren: 835233
Anzahl der Fünfen: 833299
Anzahl der Sechsen: 833827
Anzahl der Einsen: 834705
Anzahl der Zweien: 832561
Anzahl der Dreien: 833484
Anzahl der Vieren: 832953
Anzahl der Fünfen: 834037
Anzahl der Sechsen: 832259
Anzahl der Einsen: 833688
Anzahl der Zweien: 834621
Anzahl der Dreien: 833693
Anzahl der Vieren: 834607
Anzahl der Fünfen: 831168
Anzahl der Sechsen: 832222
Anzahl der Einsen: 832716
Anzahl der Zweien: 832509
Anzahl der Dreien: 833393
Anzahl der Vieren: 834236
Anzahl der Fünfen: 835425
Anzahl der Sechsen: 831720
Anzahl der Einsen: 832293
Anzahl der Zweien: 833389
Anzahl der Dreien: 833050
Anzahl der Vieren: 832782
Anzahl der Fünfen: 833247
Anzahl der Sechsen: 835238
Danke und viele Grüße von Saihttam