在并行Python中运行相同的功能

时间:2018-01-19 16:38:21

标签: python-3.x multiprocessing

我创建了一个收集加密货币价格的函数。

我想要的是运行该功能以并行收集不同密码的订单价格。

功能基本相同,唯一改变的是加密。

示例:

def gather_prices(pair):
    get_prices = order_book(pair)

由于我得到实时价格,我想为不同的密码并行运行相同的功能。

我看到我可以使用:

from multiprocessing import Process

def func1()
def func2()

if __name__ == '__main__':
Process(target=func1).start()
Process(target=func2).start()

我的问题是:

如果功能相同,它会起作用吗?

而不是两个不同的功能?

1 个答案:

答案 0 :(得分:0)

足够容易测试;

from multiprocessing import Process
import time

def func1(message: str, sleep: int):
    while True:
        print(message)
        time.sleep(sleep)


if __name__ == '__main__':
    first = Process(target=func1, args=("First Call", 1)).start()
    second = Process(target=func1, args=("Second Call", 3)).start()

First Call
Second Call
First Call
First Call
First Call
Second Call
First Call
First Call
Second Call
First Call
First Call
First Call
Second Call
First Call
First Call