process = multiprocessing.Process(target=self.sever_client, args=(client, recv_data, addr))
是我原来的代码,运行时创建多进程也没有问题
self.logger是我在__init__中创建的一个类属性
self.sever_client(client, recv_data, addr, self.logger)
是我改了代码之后,运行多进程会报错,但是直接运行这个函数,代码运行正常没有问题
process = multiprocessing.Process(target=self.sever_client, args=(client, recv_data, addr, self.logger))
就是我改了代码之后,创建这个函数的多进程,但是会报错
个人觉得问题出现在self.logger 是因为创建多进程时 将self.logger传入导致的问题
请各位大佬指教(抱拳)
我没看到你的全部代码,不过可以估计得出报错的原因。
请记住多进程之间数据隔离,我想可能是你没注意到数据隔离的原因,访问了访问不到的属性。
另外多任务编程,记住IO多计算少应该用多线程编程,计算多IO少才用多进程编程。
可以关注我,看看我近期写的python编程之操作系统知识点梳理。
我觉得你需要好好梳理一下多进程、多线程、协程编程的相关概念。然后再尝试自己改代码。