1

wx GUI では、しばらく実行されるメソッドを呼び出す必要があります。私の研究では、漠然と理解している唯一のコードは、ここでのマルチプロセッシングの例でした。このコードを自分のニーズに合わせようとしました。コードの関連セクションは次のとおりです。

            def OnStart(self, event):
                images = self.getImageList()
                jobs = mp.cpu_count() * 2
                for job in range(jobs):
                    mp.Process(target = myWorker, args = (images)).start()

    (external to tv class, displayImage is a @staticmethod)        
    def myWorker(images):
        print "yo"
        for image in images:
            tv.displayImage(image)

私の問題は、myWorker でコードが実行されることも、エラーが発生することもないことです。

4

1 に答える 1

0

パラメータに送信される引数はargs、シーケンスである必要があります。myWorker期待される引数の数と同じ長さでなければなりません。myWorkerは 1 つの引数を想定しているためargs、長さ 1 のシーケンスである必要があります。だから試してみてください:

mp.Process(target = myWorker, args = (images,)).start()

タプルimagesを作成するの後のコンマに注意してください。(images,)

あなたの質問に対する直接的な回答ではありませんが、長時間実行されるタスクの処理方法に関するこのページも役に立つかもしれません。

于 2013-08-19T03:25:32.577 に答える