“ Python同时存在多个循环。我知道这是不可能的。”-这看起来很有趣。
完全可以按照您的描述同时运行两个循环。两种方式都有意义,这取决于您实际需要和想要的东西。如果任务是完全独立的,则应将其作为两个脚本运行。如果您需要这两个循环来实现一项任务,并且将它们放在一个文件中就可以使用了multiprocessing
。
已针对python 2.7.5+和3.3.2+进行测试。
这是一些最小的示例:
from multiprocessing import Process
import time
def f(name):
print('hello', name)
time.sleep(10)
def d(name):
print('test2', name)
time.sleep(10)
if __name__ == '__main__':
p1 = Process(target=f, args=('bob',))
p2 = Process(target=d, args=('alice',))
p1.start()
p2.start()
p1.join()
p2.join()
脚本运行10秒钟,两个字符串都立即打印出来,这意味着一切正常。
time python3 ./process.py
hello bob
test2 alice
real 0m10.073s
user 0m0.040s
sys 0m0.016s