全局变量简介
定义在函数外面的变量,可在当前实例中调用
需求和现状
通过API接口分别获取两个Array数据,然后对两个Array进行数据合并。
需要A(数据1),B(数据2),C(合并数据)三个任务
开始采用Python多线程,但是,由于Python多线程的限制(参考文章)导致运行速度贼基儿慢,网络资料两种解决方式,
- 线程+协程实现真的多线程(不做评判,只是没选择)
- 多进程,父子进程共享全局变量,不多BB上酸菜
Python 进程之间共享数据(全局变量)
Python 多进程默认不能共享全局变量,使用multiprocessing模块,实现,代码如下
import multiprocessing
def func(num):
num.value=10.78 #子进程改变数值的值,主进程跟着改变
if __name__=="__main__":
num=multiprocessing.Value("d",10.0) # d表示数值,主进程与子进程共享这个value。(主进程与子进程都是用的同一个value)
print(num.value)
p=multiprocessing.Process(target=func,args=(num,))
p.start()
p.join()
print(num.value)
手动重点:p=multiprocessing.Process(target=func,args=(num,))
虽然不是多线程并发,但是比Python的多线程快多了,O了,祝你开心,如有帮助,鄙人之幸