下面的腳本只是使用多處理從0-9進行計數,其中Thread-1計數偶數,Thread-2計數偶數。請注意,工作人員本身的唯一區別是初始x值爲0和1.有沒有一種方法可以簡化這一點,而不是一遍又一遍地輸入相同的代碼?對於2線程來說並不是什麼大問題,但對於每個不同的起始值,有16個進程(0-16),這會變得非常冗餘。python/multiprocessing:howto簡化「def」字段
#!/usr/bin/python
from multiprocessing import Process
def worker1(name):
x = 0
print name, 'starting...'
while x < 10:
print x
x+=2
print name, 'complete!'
def worker2(name):
x = 1
print name, 'starting...'
while x < 10:
print x
x+=2
print name, 'complete!'
if __name__ == '__main__':
wa = Process(target=worker1, args=('Thread-1',))
wb = Process(target=worker2, args=('Thread-2',))
wa.start()
wb.start()