2
我正在嘗試使用並行Python進行一些非常簡單的操作。我希望能夠從一個類中創建一個對象,這個類是在一個類的另一個方法內創建的,並行地完成一項工作。 這裏是想我,使工作一個基本的例子:並行Python - 在並行執行中將對象創建到另一個類
import pp
class TestClass(object):
def __init__(self):
pass
def doSomething (self, number) :
print number**2
class PPTask (object) :
def __init__ (self) :
pass
def ppTask(self, number = 1) :
sum = 0
sum += number
tc = TestClass()
tc.doSomething(sum)
return sum
if __name__ == '__main__' :
job_server = pp.Server()
job_list = []
results = []
for i in xrange(10) :
pt = PPTask()
job_list.append(job_server.submit(pt.ppTask, (1,), globals = globals()))
for job in job_list :
results.append(job())
for result in results :
print result
這提高NameError: global name 'TestClass' is not defined
,我沒有找到任何解決方案,通過它,或在ppTask方法重用。
任何幫助將大大appriciated。
預先感謝您
謝謝,它運作良好。我仍然不明白如何使用PP提交方法處理全局變量。我確實嘗試通過globals = {'TestClass':}在一個詞典中傳遞TestClass,我不知道爲什麼這不起作用。 –
2012-04-04 07:04:58
是的,我也試過,但無法讓它工作。這看起來應該是_should_,但我對「pp」沒有足夠的瞭解。我以前從來沒有遇到過這種情況,因爲我通常將單獨的類放在單獨的模塊文件中,並且只需使用'module'關鍵字參數給'Server.submit()'告訴作業要導入的內容。 – 2012-04-04 12:14:39