【问题标题】:python gevent handling long blocking operationspython gevent处理长阻塞操作
【发布时间】:2016-01-14 08:40:09
【问题描述】:

我正在使用带有烧瓶和 pymongo 的 gevent。我有一个 API 端点,我需要循环来自 pymongo 的大量结果以进行一些 CPU 计算(速度平均值、地理坐标之间的距离......)。

我想知道 gevent 是否提供了一些功能来处理这种长阻塞操作。看来我可以在循环中使用gevent.sleep 来触发greenlets 之间的上下文切换,但它似乎不是很干净。

【问题讨论】:

    标签: python flask gevent


    【解决方案1】:

    使用gevent.sleep(0) 让步给集线器(您的意思是上下文切换)实际上是完全合法的,也是可行的方法。这是干净的,在文档gevent doc 中提到的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 2015-12-23
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多