V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dqw  ›  全部回复第 1 页 / 共 1 页
回复总数  6
2017-05-10 20:09:14 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
2017-05-10 20:08:10 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@kingmo888 原因是 python 里面的面向对象实际上是通过语法糖实现的,你传入一个 obj.func 实际上传入的只是一个函数,其第一个参数是 self,python 里面调用 obj.func()实际上是类似于:
f = obj.func
f(obj)
你直接传方法进去,self 已经丢失了,因为在子进程中调用的时候不是通过对象实例调用的。
2017-05-10 15:33:31 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
@kingmo888 你看看现在瓶颈到底在 cpu 上还是 IO 上,如果是 cpu 就用线程或进程绑核跑,这样性能最高。
2017-05-10 13:13:24 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
貌似 init 时的 pid 是主进程的。请问这是什么原因或者说应该怎样去理解呢?
这是因为你调用 Mutilprocess_Test()是在主线程中调用的,所以 init 的 pid 是主线程。

你传入 Mutilprocess_Test().run 进去在其他进程里面执行的时候 self 参数是不是就丢掉了,你验证一下看看还能不能获取到 self。
如果你需要共享数据的话为啥不用多线程?多进程就不要考虑共享数据的事情了吧。
2017-05-09 19:52:09 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
在 print('main')下面把 pid 打印出来,每次都不一样,每个进程会都加载一次脚本,启动进程数量为进程池数量+2。自身算一个,还有一个不知道是啥。
2017-05-09 19:41:56 +08:00
回复了 kingmo888 创建的主题 Python Python 多进程写入的疑问,求助。
执行多次可能是多进程脚本被加载了多次吧,你验证一下。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4519 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 10:03 · PVG 18:03 · LAX 02:03 · JFK 05:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.