python - 阻止 greenlets 的问题吗?

标签 python asynchronous nonblocking green-threads greenlets

我知道阻塞代码对于事件循环(即 NodeJS)来说是一种罪过,但是对于 greenlets(我认为是绿色线程)呢?运行调用阻塞函数的代码是否有问题?

最佳答案

没有 gevent 提供的事件循环的 Greenlets 本身是 very primitive .来自一个 greenlet 内的阻塞调用将阻塞所有 greenlet,因为 greenlet 本身没有能力产生 IO 操作,也没有调度程序。 Gevent 对套接字和文件 IO 的猴子修补通常足以启用非阻塞 IO,即使数据库也是如此,前提是数据库库是用 python 编写的并使用套接字。或者您也可以自己修补库。

关于python - 阻止 greenlets 的问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201930/

相关文章:

python - Tensorflow:自定义损失函数导致 op outside of function 构建代码错误

python - 根据特定列的条件将一组行的数据帧值分配给另一组行

c# - 如何在异步任务 C# 中限制每秒请求

python - while 循环和 python

python - 拆分逗号分隔列表

c# - 基于异步注解执行C# Lambda表达式

asynchronous - 如何在不阻塞的情况下将 CompletableFuture<Stream<T>> 转换为 Stream<T>

c# - 从 C# 中的标准 I/O 非阻塞读取

java - CompletableFuture - 提供一个将 bool 值返回给 SupplyAsync 调用的方法

python - Django 中的 Fabric。如何解决等待 SSH 完成的 View