我知道阻塞代码对于事件循环(即 NodeJS)来说是一种罪过,但是对于 greenlets(我认为是绿色线程)呢?运行调用阻塞函数的代码是否有问题?
最佳答案
没有 gevent 提供的事件循环的 Greenlets 本身是 very primitive .来自一个 greenlet 内的阻塞调用将阻塞所有 greenlet,因为 greenlet 本身没有能力产生 IO 操作,也没有调度程序。 Gevent 对套接字和文件 IO 的猴子修补通常足以启用非阻塞 IO,即使数据库也是如此,前提是数据库库是用 python 编写的并使用套接字。或者您也可以自己修补库。
关于python - 阻止 greenlets 的问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201930/