while循环中的python并行计算

时间:2017-08-21 09:45:20

标签: python multithreading python-3.x

我一直在寻找一段时间,但没有运气找到一个可以解决我的问题的例子。我在代码中添加了一个示例。可以注意到这很慢,2个功能可以单独完成。

我的目标是每秒打印最新的参数值。同时,可以在后台计算缓慢的过程。显示最新值,当任何进程准备就绪时,值将更新。

有人可以推荐更好的方法吗?一个例子真的很有帮助。

非常感谢。

import time

def ProcessA(parA):
    # imitate slow process
    time.sleep(5)
    parA += 2

    return parA

def ProcessB(parB):
    # imitate slow process
    time.sleep(10)
    parB += 5

    return parB

# start from here
i, parA, parB = 1, 0, 0

while True: # endless loop
    print(i)
    print(parA)
    print(parB)

    time.sleep(1)
    i += 1

    # update parameter A
    parA = ProcessA(parA)

    # update parameter B
    parB = ProcessB(parB)

1 个答案:

答案 0 :(得分:0)

我想这应该为你做。这样做的好处是,您可以添加额外的并行功能,总数等于您拥有的核心数。编辑是受欢迎的。

__init__.py