为什么我们需要 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.
我对Gevent的理解是它只是并发,不是并行。我对 Gevent 和 AsyncIO 等并发机制的理解是,Python 应用程序中的任何内容都不会同时执行。
最接近的是调用非阻塞 IO 方法,在等待调用 return 的同时,Python 应用程序中的其他方法可以执行。同样,Python 应用程序中的 none 方法实际上同时执行了 Python 代码。
话虽如此,为什么需要 gevent.queue?在我看来,Python 应用程序真的不需要担心有多个 Python 方法一次访问一个队列实例。
我确定有一种情况我没有看到 gevent.queue 修复,我只是好奇那是什么。
尽管在单个 Python 进程中没有两个语句同时执行是正确的,但您可能希望确保 系列 语句以原子方式执行,或者您可能想对某些语句的执行施加一个顺序,在这种情况下 gevent.queue
之类的东西就变得有用了。教程是 here.