from multiprocessing import Process,current_process
from multiprocessing import Manager
def fun1(name,m_dict,m_list):
print(f'子进程为{current_process().pid}接受的数据为{m_list}')
print(f'子进程为{current_process().pid}接受的数据为{m_dict}')
m_list.append('你好')
m_dict['age']='18'
if __name__ == '__main__':
print(f'主进程为{current_process().pid}')
with Manager() as mul:
m_list=mul.list()
m_dict=mul.dict()
m_dict['name']='俞兴志'
m_list.append("hello12345")
p1=Process(target=fun1,args=("p1",m_list,m_dict))
p1.start()
p1.join()
print(m_list)
print(m_dict)
#老师好 我有三个问题
#1为什么我这里是主线程结束 然后是先打印出来的是字典 再是列表
#2我在子线程添加了新的数据 控制台报错 原因是'DictProxy' object has no attribute 'append'('DictProxy' 对象没有属性 'append')
##3 p1=Process(target=fun1,args=("p1",m_list,m_dict)#后面args传参他的作用是什么