在Python中,如何在启动后将队列发送到multiprocessing.Process?
通常我会做类似的事情:
q = Queue()
p = Process(target=f, args=(q,))
p.start()
有没有办法传递另一个队列?呃...现在我想了一下——这可以通过q 来完成吗?
Typically I do something like:
q = Queue()
p = Process(target=f, args=(q,))
p.start()
Is there some way to pass p another Queue? Er... now that I think about it - can this be done through q?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
q
来完成。您可以在那里传递任何对象,包括另一个Queue
,q
. You can pass any object there, anotherQueue
included不可以,一旦创建了进程(进程被分叉),就不能再向其发送队列。它们只能在流程创建时发送。否则会导致异常。
No, once a process has been created (the process is forked), queues can no longer be sent to it. They can only be sent at process creation time. To do otherwise results in an exception.