为什么我们需要 gevent.queue?

Why do we need gevent.queue?

我对Gevent的理解是它只是并发,不是并行。我对 Gevent 和 AsyncIO 等并发机制的理解是,Python 应用程序中的任何内容都不会同时执行。

最接近的是调用非阻塞 IO 方法,在等待调用 return 的同时,Python 应用程序中的其他方法可以执行。同样,Python 应用程序中的 none 方法实际上同时执行了 Python 代码。

话虽如此,为什么需要 gevent.queue?在我看来,Python 应用程序真的不需要担心有多个 Python 方法一次访问一个队列实例。

我确定有一种情况我没有看到 gevent.queue 修复,我只是好奇那是什么。

尽管在单个 Python 进程中没有两个语句同时执行是正确的,但您可能希望确保 系列 语句以原子方式执行,或者您可能想对某些语句的执行施加一个顺序,在这种情况下 gevent.queue 之类的东西就变得有用了。教程是 here.