import multiprocessing
import time
def func1(conn1):
sub_info="Hello!"
print(f"进程1--{multiprocessing.current_process().pid} 发送参数{sub_info}")
time.sleep(1)
conn1.send(sub_info)
print(f"来自线程2:{conn1.recv()}")
time.sleep(1)
def func2(conn2):
sub_info="你好!"
print(f"进程2--{multiprocessing.current_process().pid} 发送参数{sub_info}")
time.sleep(1)
conn2.send(sub_info)
print(f"来自线程1:{conn2.recv()}")
time.sleep(1)
if __name__ == '__main__':
#创建管道
conn1,conn2=multiprocessing.Pipe()
#创建子进程
process1=multiprocessing.Process(target=func1,args=(conn1,))
process2=multiprocessing.Process(target=func2,args=(func2,))
#启动进程
process1.start()
process2.start()
D:\Anaconda\anaconda3\envs\python\python.exe D:/Pycharm/python学习/python系统化学习/网络与并发编程/13.Pipe实现进程间的通信.py
进程2--13740 发送参数你好!
进程1--68200 发送参数Hello!
Process Process-2:
Traceback (most recent call last):
File "D:\Anaconda\anaconda3\envs\python\lib\multiprocessing\process.py", line 315, in _bootstrap
self.run()
File "D:\Anaconda\anaconda3\envs\python\lib\multiprocessing\process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "D:\Pycharm\python学习\python系统化学习\网络与并发编程\13.Pipe实现进程间的通信.py", line 17, in func2
conn2.send(sub_info)
AttributeError: 'function' object has no attribute 'send'
这边哪里有问题?