Python pool.map 使我的脚本的其余部分更频繁地执行
使用我的示例脚本
from multiprocessing import Pool
def methodUsingPool(x):
if __name__ == '__main__':
pool = Pool()
pool.map(print, x)
methodUsingPool("x")
print("1")
输出
1
1
1
1
1
1
x
1
可以获得我一直期待的
x
1
为什么会这样?我能做些什么?
Using my sample script
from multiprocessing import Pool
def methodUsingPool(x):
if __name__ == '__main__':
pool = Pool()
pool.map(print, x)
methodUsingPool("x")
print("1")
gets the output
1
1
1
1
1
1
x
1
while I've been expecting
x
1
Why is that so? What can I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
行为取决于您的操作系统。在 macOS(例如)上,您将获得与所显示的类似的输出。
但是,如果您这样做:
...无论平台如何,您都会获得预期的输出
请参阅:Python 3 多处理
Behaviour will depend on your operating system. On macOS (for example) you will get similar output to what you've shown.
However, if you do this:
...you'll get your expected output regardless of platform
See: Python 3 multiprocessing