python中多进程的一般建议

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值