【问题标题】:Synchronization in Python - Gevent Multithreaded Environment [closed]Python中的同步-Gevent多线程环境[关闭]
【发布时间】:2013-12-17 08:40:11
【问题描述】:

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

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

【问题讨论】:

  • 这太宽泛了。看起来您正在寻找教程或文档,Google 将成为您最好的朋友。

标签: python python-2.7 gevent greenlets


【解决方案1】:

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

如果你创建了很多greenlet,它们应该访问同一个资源,但是它们没有合作关系,那么你不必使用锁来控制它们访问共享资源,因为只有一个greenlet可以运行在一个共享资源上。时间。直到greenlet遇到一些可以将执行交给hub greenlet的操作,它会一直运行直到它返回。

如果你创建的greenlets有合作关系,你可以像在Java中那样使用gevent提供的锁。

这里有一些资源可能会对您有所帮助:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    相关资源
    最近更新 更多