156得票4回答
绿色线程(Greenlet)与线程的区别

我刚接触gevents和greenlets。 我找到了一些关于如何使用它们的好文档,但没有给出在什么情况下应该使用greenlets的理由! 它们真正擅长什么? 在代理服务器中使用它们是个好主意吗? 为什么不用线程? 我不确定的是,如果它们基本上是协程,它们如何提供并发。

44得票1回答
运行外部Python插件使用asyncio循环引擎

我安装了运行在 emperor 模式下的 uWSGI。由于不同的 vassals 使用不同的 Python 版本,因此我无法将 Python 插件嵌入到 uWSGI 二进制文件中。 话虽如此,我想在其中一个 vassal 中使用 asyncio 循环引擎,但我无法想出如何运行未嵌入的 asyn...

30得票1回答
Eventlet vs Greenlet vs gevent?

我正在尝试创建一个带有事件循环的GUI框架。一些线程用于处理用户界面,另一些线程用于事件处理。我已经搜索了一些资料,发现了以下三个库,想知道哪一个更好用?它们各自的优缺点是什么呢? 我可以使用这三个库中的任何一个,甚至使用Python threads 或 concurrent 库来创建自己的...

16得票1回答
PyPy和PyPy+greenlet中的Stackless - 差异

新版本的PyPy集成了Stackless。据我所知,捆绑的Stackless并不同于2001年具有连续性的原始Stackless。因此,主要是带有调度程序的Green Threads框架。 Greenlet是Stackless的一个分支,它提供了Stackless Green Threads...

15得票3回答
绿色线程运行时错误,部署在Docker中的应用程序一直启动所有工作进程。

运行时警告:greenlet.greenlet的大小发生变化,可能表示二进制不兼容性。预期来自C头文件的大小为144,而从PyObject中获得了152。 并且所有的工作进程都在启动。 2020-09-28T14:09:41.864089908Z [2020-09-28 14:09:41...

14得票1回答
在greenlet中访问flask.g

我正在使用Flask + gevent,并希望在greenlet的目标函数中访问flask.g应用程序全局变量。 我正在使用copy_current_request_context装饰器,并且有一个与文档中给出的示例非常相似的情况: import gevent from flask impo...

13得票7回答
Python是否有类似Erlang的并发性能?

有没有类似Erlang并发编程的Python库,尤其是可以在网络上透明地使用actor模型的?我看过像greenlet和stackless这样的库,但它们似乎没有提供网络上的actor透明性。 我仍然无法完全掌握Erlang/OTP,因此如果有更接近Python的替代方案,我会很感兴趣。

11得票8回答
轻量级通知技术

我需要在Django中开发一个实时的最近活动动态(feed),并且我想知道服务器端的最佳策略是什么(使用AJAX长轮询)。 伪代码:def recent_activity_post_save(): notify_view() [in the view] while not new_...

11得票1回答
Python抽象基类可以从C扩展继承吗?

似乎当我有一个从gevent.Greenlet继承的抽象基类(它又从C扩展模块greenlet继承:https://github.com/python-greenlet/greenlet),那么实现它的类不会引发任何未实现方法的abc错误。 class ActorBase(gevent.Gr...

10得票2回答
让Django变得更加环保

我有一个Django管理命令,需要进行成千上万次的TCP/UDP请求。我已经使用了Gevent来加快速度,因为我重构了我的代码使其可以作为协程运行。现在套接字连接不再阻塞,但根据我的阅读,Django的某些部分仍然不是“绿色”的。(所谓的“绿色”,指的是使用greenlets) 你能告诉我哪...