最近的项目是完成用多进程进行tcp接收,以及通过消息内容进行keras模型预测。
最开始的版本:
主进程:循环接收 客户端信息
子进程:每一个新链接,创建一个子进程。
子进程对信息进行提取,提取后利用keras进行分析预测。
修改的版本1:
主进程:循环接收 客户端信息
子进程:每一个新链接,创建一个子进程。
子进程对信息进行提取,提取信息中的id号
子子进程: 每一个id号 创建一个子子进程。
子子进程进行keras分析预测。
# 推翻的原因
1. 进程太多。
2. 当链接关闭时,需关闭该链接 相关id号创建出来的子子进程。而且必须要清空对应进程的queue队列。
遇到的问题: 字典 a = {id:子子进程}
字典 b = {id:queue}。
关于这样的几个字典,在主进程创建,在子进程修改。但是主进程一直都是创建是的样子,是一个空字典。
并且,用Manager全局变量也不让存储 进程对象&#