下面的脚本使用多处理从 0-9 简单地计数,其中 Thread-1 计数偶数,Thread-2 计数偶数。请注意,工人本身的唯一区别是初始 x 值 0 和 1。有没有办法简化这一点,而不是一遍又一遍地输入相同的代码?对于 2 个线程来说没什么大不了的,但是对于每个不同的起始值,有 16 个进程(0-16),这变得非常多余。
#!/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()