python中多进程的一般建议

来源:互联网 发布:美工设计基础知识 编辑:程序博客网 时间:2024/04/30 23:32

multiprocessing模块是python库中最高级和功能最强大的模块之一。记住下面这些一般性技巧,可以更好地掌握这个模块。

1 在构建较大型的应用程序之前,仔细阅读在线文档。
2 确保进程间传递的所有的数据都能够序列化
3 避免使用共享数据,尽可能使用消息传递和队列。使用消息传递时,不必过于担心同步、锁定和其他问题。当进程的数量增长时,它往往还能提供更好的扩展。
4 在必须运行在单独进程中的函数内部,不要使用全局变量而应显示的传递参数。
5 尽量不要在同一个程序中混合使用线程和多线程处理,除非需要大幅度提高任务的安全性(或根据检查代码的角色降低安全性)。
6 特别要注意关闭进程的方式。一般而言,需要显示的关闭进程,并使用一种定义良好的终止模式,而不要仅仅依赖于垃圾收集或者被迫使用terminate()操作强制终止子进程。
7 管理器和代理的使用与分布式计算中的多个概念密切相关
8 multiprocessing模块源自于名为pyprocessing的第三方库。搜索有关库的使用技巧和信息,对你有很大的帮助
9 尽管模块可以在Windows上,但还是应该仔细阅读官方文档中的各种微妙细节。例如 要在Windows上启动一个新进程。多进程处理模块实现了它自己的UNIX fork()函数的克隆版本,其中将通过管道把进程状态赋值给子进程。一般而言,此模块更加适用于UNIX系统。
10 最重要的一点是:尽量让事情变得简单。

0 0
原创粉丝点击