想请教各位 V 友一些问题
我不是计算机相关的专业,大学选修学的 C 和 Fortran,经常需要写一些脚本处理数据
以前都是用 C 或者 Fortan 写脚本(我的 C 水平很菜),直到最近学会了 python
发现 python 写脚本比 C 和 Fortran 轻松多了,但是运行速度不是很快
然后又了解到了并行,google 出了各种教程,还是没看明白
最后在懵 B 状态下用了 multiprocessing 库里面的 Process
虽然程序是可以跑起来,也加速了不少,但是还是不了解运行的过程,问题如下:
1.为什么必须要有 if __name__ == '__main__' :
2.我想统计程序时间,代码和输出如下,输出了时间变乱了,是不是并行之后程序的运行顺序会改变?
这是输出 http://tva1.sinaimg.cn/large/0060lm7Tly1g5kue0h947j30rl0ph76k.jpg
这是代码(书写风格可能不符合规范,平时也就自己看,请大佬勿喷)
http://tva1.sinaimg.cn/large/0060lm7Tly1g5kuh4tpuzj30yw0jhq5m.jpg
3.关于 process 和 pool,我不知道改在什么时候使用其中哪一个。
4.如果想思路清晰,知道自己每一步在干什么地写一个并行脚本应该从哪开始学?(python 官网的 doc 看的不太懂,可能是我没有计算机相关的基础吧)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.