我正在制作一个需要同时做 3 件事的 python 脚本。什么是实现这一目标的好方法,就像我听说的关于 GIL 的事情一样,我不再那么倾向于使用线程了。
脚本需要做的两件事将非常活跃,他们将有很多工作要做,然后我需要在用户询问时通过套接字向用户报告第三件事(所以它会像一个很小的服务器)关于其他 2 个进程的状态。
现在我的问题是什么是实现这一目标的好方法?我不想拥有三个不同的脚本,而且由于 GIL 使用线程,我认为我不会获得太多性能,而且我会让事情变得更糟。
是否有一个 fork() for python 像在 C 中那样从我的脚本中分叉 2 个进程来完成他们的工作并从主进程向用户报告?以及如何从分叉进程与主进程进行通信?
LE: : 更准确地说,1thread 应该从 imap 服务器获取电子邮件并将它们存储到数据库中,另一个线程应该从 db 获取需要发送的消息然后发送它们,主线程应该是一个微型 http 服务器,它将只需接受一个 url,就会以 json 格式显示这两个线程的状态。那么线程好吗?工作会同时完成还是由于 gil 会出现性能问题?