私はマルチプロセッシングの初心者です、
スレッド化については知っていますが、できればマルチプロセッシングを使用して、この計算の速度を上げる必要があります。
例の説明:文字列をスレッドに送信し、文字列+ベンチマークテストを変更し、結果を送信して印刷します。
from threading import Thread class Alter(Thread): def __init__(self, word): Thread.__init__(self) self.word = word self.word2 = '' def run(self): # Alter string + test processing speed for i in range(80000): self.word2 = self.word2 + self.word # Send a string to be altered thread1 = Alter('foo') thread2 = Alter('bar') thread1.start() thread2.start() #wait for both to finish while thread1.is_alive() == True: pass while thread2.is_alive() == True: pass print(thread1.word2) print(thread2.word2)
これは現在約6秒かかりますが、もっと速くする必要があります。
マルチプロセッシングを調べていますが、上記のコードに相当するものが見つかりません。私が求めているのはプーリングだと思いますが、私が見つけた例は理解しにくいものでした。すべてのコア(8コア)を利用したいmultiprocessing.cpu_count()
のですが、実際にはマルチプロセッシングに関する有用な情報の断片があり、上記のコードを複製するのに十分ではありません。誰かが私を正しい方向に向けることができるか、それでももっと良いことがあれば、大いに感謝される例を提供してください。Python3お願いします