Python-Gevent多线程环境中的同步

Python-Gevent多线程环境中的同步,python,python-2.7,gevent,greenlets,Python,Python 2.7,Gevent,Greenlets,我是一名java开发人员,开始学习python语言,最近我遇到了使用异步Greenlet的PythonGevent库。有人能给我解释一下,使用Gevent在Python中如何工作/避免同步、死锁和活锁吗 在Java线程中,我们有同步块,可以防止上述问题 使用gevent编写并发应用程序与使用多线程或多进程的应用程序不同。它允许您使用同步逻辑编写并发应用程序,并且一次只能运行一个greenlet 如果您创建了多个greenlet,它们应该访问同一资源,但没有合作关系,那么您不必使用锁来控制它们访

我是一名java开发人员,开始学习python语言,最近我遇到了使用异步Greenlet的PythonGevent库。有人能给我解释一下,使用Gevent在Python中如何工作/避免同步、死锁和活锁吗

  • 在Java线程中,我们有同步块,可以防止上述问题

使用gevent编写并发应用程序与使用多线程或多进程的应用程序不同。它允许您使用同步逻辑编写并发应用程序,并且一次只能运行一个greenlet

如果您创建了多个greenlet,它们应该访问同一资源,但没有合作关系,那么您不必使用锁来控制它们访问共享资源,因为一次只能运行一个greenlet。在greenlet遇到一些可能将执行交给hubgreenlet的操作之前,它将一直运行,直到返回

如果您创建的greenlet具有协作关系,那么您可以使用gevent提供的锁,就像您在Java中使用的那样

以下是一些可能对您有所帮助的资源:


这太宽了。看起来你正在寻找教程或文档,谷歌将是你最好的朋友。