python 多进程全局变量
程序员文章站
2024-02-15 21:38:40
...
对于共享整数或者单个字符,初始化比较简单,参照下图映射关系即可。如i = Value('i', 1), c = Value('c', '0')。
注意,如果我们使用的code在上表不存在,则会抛出:
size = ctypes.sizeof(type_)
TypeError: this type has no size
上代码:
import multiprocessing
from multiprocessing import Process, Manager
import time
def f(d, l):
i = 0
while True:
if i==0:
i=1
else:
i=0
d.value=i
time.sleep(0.1)
# print(l)
def receive(d, l):
while True:
print(d)
time.sleep(0.1)
if __name__ == '__main__':
with Manager() as manager:
# d = manager.dict()
l = manager.list(range(5))
d = multiprocessing.Value("i", 1)
p_list = []
# for i in range(10):
p = Process(target=f, args=(d, l))
p.start()
p1 = Process(target=receive, args=(d, l))
p1.start()
p.join()
p1.join()