你可以使用threading或multiprocessing。
由于CPython的特殊性,
threading不太可能实现真正的并行性。因此,
multiprocessing通常是更好的选择。
这是一个完整的示例:
from multiprocessing import Processdef func1(): print 'func1: starting' for i in xrange(10000000): pass print 'func1: finishing'def func2(): print 'func2: starting' for i in xrange(10000000): pass print 'func2: finishing'if __name__ == '__main__': p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start() p1.join() p2.join()
可以按照以下方式轻松地将子进程的启动/联接机制封装为一个函数runBothFunc:
def runInParallel(*fns): proc = [] for fn in fns: p = Process(target=fn) p.start() proc.append(p) for p in proc: p.join()runInParallel(func1, func2)



