Çok işlemcili kitaplığı kullanarak python'da çoklu okuma hakkında öğreniyorum. Bu amaçla, büyük bir dosyayı birkaç küçük parçaya bölen bir program oluşturmaya çalıştım. Bu nedenle, önce bu dosyadaki tüm verileri okudum ve daha sonra bu girdi dosyasındaki verilerin bir bölümünü alan ve bu segmenti bir dosyaya yazdıran çalışan görevleri oluşturun. Parça sayısı kadar çok sayıda paralel iş parçacığı olmasını beklerim, ancak bu gerçekleşmez. En fazla iki görev görüyorum ve program bundan sonra sona erecek. Ne hata yapıyorum. Kod aşağıda verilmiştir.Python'un çoklu işlemesi paralel olarak görev oluşturmuyor
import multiprocessing
def worker(segment, x):
fname = getFileName(x)
writeToFile(segment, fname)
if __name__ == '__main__':
with open(fname) as f:
lines = f.readlines()
jobs = []
for x in range(0, numberOfSegments):
segment = getSegment(x, lines)
jobs.append(multiprocessing.Process(target=worker, args=(segment, x)))
jobs[len(jobs)-1].start()
for p in jobs:
p.join
istiyorum, bu yüzden programın aslında örtük onlar' sürece ne olacak (açıkça bu' Process'es engelleme değil re 'daemon'. – ShadowRanger
Katılmayı aradım, kodun son iki satırını görün. – pythonic
Bunu referansladınız. Onu kullanmadın. p.join 'p.join()' dan farklı _very_. – ShadowRanger