Python 为什么要重新初始化多进程工作者?
我在Python多处理池库文档中发现了以下注释: 池中的工作进程通常为完整的 池的工作队列的持续时间。一种常见于其他领域的模式 系统(如Apache、mod_wsgi等)来释放 workers允许池中的worker只完成一组 退出、清理和重新安装前的工作量 生成进程以替换旧进程。maxtasksperchild参数 将此功能公开给最终用户Python 为什么要重新初始化多进程工作者?,python,garbage-collection,multiprocessing,Python,Garbage Collection,Multiprocessing,我在Python多处理池库文档中发现了以下注释: 池中的工作进程通常为完整的 池的工作队列的持续时间。一种常见于其他领域的模式 系统(如Apache、mod_wsgi等)来释放 workers允许池中的worker只完成一组 退出、清理和重新安装前的工作量 生成进程以替换旧进程。maxtasksperchild参数 将此功能公开给最终用户 它说Apache和其他人重新初始化了多进程实体,这使它成为一个好的模式。是关于重新初始化对象(如“OOP”对象)以调用垃圾收集器吗?为什么它很重要?存在多处理
它说Apache和其他人重新初始化了多进程实体,这使它成为一个好的模式。是关于重新初始化对象(如“OOP”对象)以调用垃圾收集器吗?为什么它很重要?存在多处理对象时无法使用GC 主要用例之一是避免小型泄漏(内存、fd等)影响长时间运行的服务 由于软件不完善,经常会出现一些库没有正确清理的情况。由于这些问题超出了开发人员的控制范围,一个简单的解决方法是定期终止泄漏的进程并重新开始 另一个用例是控制服务的内存消耗。例如,Python内存碎片通常会导致工作人员消耗比需要多得多的内存