Hallo,
ich möchte mich in MP einarbeiten. Der erste Versuch ging schonmal gehörig schief: Ich möchte eine Liste erstellen mit Tupeln der Form (k, math.sqrt(k)), wobei k von 1 bis 5000 läuft.
Mein Code ist:
Python
from multiprocessing import Process, cpu_count
import math
wurzeln = []
def wurzel(k, array):
array.append( (k, math.sqrt(k)) )
for k in range(1, 5*10**3, 4):
p1 = Process(target = wurzel, args = (k, wurzeln))
p2 = Process(target = wurzel, args = (k+1, wurzeln))
p3 = Process(target = wurzel, args = (k+2, wurzeln))
p4 = Process(target = wurzel, args = (k+3, wurzeln))
p1.start()
p2.start()
p3.start()
p4.start()
p1.join()
p2.join()
p3.join()
p4.join()
Display More
Das dauert über 20 Sekunden.
Was mache ich alles falsch?
Edit: Das Array bleibt sogar leer. Also habeich überhaupt nicht verstanden wie MP funktioniert. Wo kann ich ansetzen?