假设函数接口有四个,我们如何指定四个进程来分别执行这四个接口函数呢?
这里我们使用python中的multiprocessing来完成。具体代码如下:
import multiprocessing
import time
def worker_1(interval):
print("worker_1")
time.sleep(interval)
print("end worker_1")
def worker_2(interval):
print("worker_2")
time.sleep(interval)
print("end worker_2")
def worker_3(interval):
print("worker_3")
time.sleep(interval)
print("end worker_3")
if __name__ == "__main__":
p1 = multiprocessing.Process(target = worker_1, args = (2,))
p2 = multiprocessing.Process(target = worker_2, args = (2,))
p3 = multiprocessing.Process(target = worker_3, args = (2,))
start = time.time()
p1.start()
p2.start()
p3.start()
print("The number of CPU is:" + str(multiprocessing.cpu_count()))
for p in multiprocessing.active_children():
print("child p.name:" + p.name + "\tp.id" + str(p.pid))
print("END!!!!!!!!!!!!!!!!!")
p1.join() # 类似与wait
p2.join()
p3.join()
end = time.time()
print(end - start)
执行结果如下:
三个函数执行时间为2S,说明是并发执行的。
参考文章:1、原文链接传送门