python队列和多处理队列:它们如何表现?

python队列和多处理队列:它们如何表现?,第1张

python队列和多处理队列:它们如何表现?

对于第二个示例,您已经自己给出了解释-

Queue
是一个无法调用的模块。

对于第三个示例:我假设您将

Queue.Queue
与一起使用
multiprocessing
。A
Queue.Queue
将不会在进程之间共享。如果在
Queue.Queue
进程之前声明,则每个进程将收到其副本,该副本与其他所有进程无关。
Queue.Queue
每个孩子都可以使用父母在孩子开始之前放置的项目。
Queue.Queue
父级启动后,父级放置在中的项目仅对父级可用。
Queue.Queue
用于同一进程内不同
线程* 之间的数据交换(使用线程模块)。多处理队列用于不同Python 进程 之间的数据交换 *。
尽管API看起来很相似(它就是这样设计的),但其底层机制却根本不同。

  • multiprocessing
    队列通过腌制(序列化)对象并通过管道发送它们来交换数据。
  • Queue.Queue
    使用在线程和锁/互斥锁之间共享的数据结构以获取正确的行为。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存