首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以在pool.map()中使用Python对self的“静态”引用?

是否可以在pool.map()中使用Python对self的“静态”引用?
EN

Stack Overflow用户
提问于 2018-07-20 04:30:59
回答 1查看 83关注 0票数 1

我有一行这样的代码:

代码语言:javascript
复制
pool.map(functools.partial(method_to_run, self), data)

method_to_run获取数据项,然后使用附加到self的对象向服务器发出请求,该对象的实例变量包含先前设置的身份验证令牌。

我遇到的问题是,每个进程似乎都会获得该对象(或self)的一个新实例,因此该实例没有设置令牌,因此请求失败。

有没有办法在池化进程之间共享自身?

EN

回答 1

Stack Overflow用户

发布于 2018-07-20 04:36:10

虽然您可以使用管理器完成此操作,但这意味着对象每次被修改时都会被复制到所有其他进程中。

我建议将令牌本身传递给进程,而不是复制整个对象。如果在调用pool.map时没有可用的令牌,那么惯用的想法是创建一个Queue,以便稍后将令牌发送到您的进程。您的进程可以位于Queue的另一端,在发出请求之前等待令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51431243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档