我们有两个名为'a.py'和'b.py'的独立程序。我们需要在另一个名为'c.py'的程序中以两个单独的线程运行它们。这可能吗?如果那么,它是如何实现的?
答案 0 :(得分:0)
简而言之,您只需要将函数的代码包装在函数中(例如main()
),然后使用multiprocessing
或threading
模块同时执行它们。
我们假设您的文件采用以下格式:
# a.py
def main():
for i in xrange(10000):
print 'A says: %d' % (i)
和
# b.py
def main():
for i in xrange(10000):
print 'B says: %d' % (i)
然后您可以按以下方式并行执行这两个文件:
# parallel.py
from multiprocessing import Process
import imp
if __name__ == '__main__':
code_a = imp.load_source('code_a', 'a.py')
code_b = imp.load_source('code_b', 'b.py')
p1 = Process(target=code_a.main)
p1.start()
p2 = Process(target=code_b.main)
p2.start()
p1.join()
p2.join()
你会得到这样的结果:
...
A说:862
A说:865
A说:866
B说:222
B说:223
B说:224
A说:867
A说:868
A说:869
...