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传参他的作用是什么