python多处理不处理tas

2024-05-16 14:39:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在wx GUI中,我需要调用一个将运行一段时间的方法,在我的研究中,我唯一模糊地理解的代码是一个多处理示例here.我尝试将此代码改编为我的需要,下面是我代码的相关部分:

            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)

我的问题是,is从不执行myWorker中的代码,也不会给我错误。你知道吗


Tags: 代码inimageselfforisdefjobs
1条回答
网友
1楼 · 发布于 2024-05-16 14:39:08

发送到args参数的参数应该是一个序列。它的长度应该与myWorker期望的参数数相同。因为myWorker需要一个参数,args应该是一个长度为1的序列。所以试试看:

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

注意images后面的逗号,它使(images,)成为元组。你知道吗

虽然不是直接回答你的问题,但是你也会发现这个页面在how to deal with Long Running Tasks上很有用。你知道吗

相关问题 更多 >