我有一个Python烧瓶-socketio服务器,我想同步一个定时器到客户端。我尝试在客户机中执行定时器,但它不能可靠地同步,所以我决定需要在服务器上执行定时器。问题是线程处理需要服务器进行大量昂贵的处理,我不想处理事件、事件或标准线程。有没有一种不需要线程就能可靠地同步定时器的方法?
发布于 2020-11-22 00:04:16
我不知道您所说的“线程处理需要大量昂贵的处理”是什么意思,但无论如何,线程处理与事件和gevent是不兼容的,所以它无论如何都不会起作用。
Gevent和eventlet都提供了一个替换模块,该模块使用greenlets实现线程中的所有内容。例如,您可以使用以下方法从Timer类导入:
from eventlet.green.threading import Timer至于准确程度,我不知道你的期望是什么。由于绿地是协作的,所以不可能使用精确的计时器,所以通常您指定的超时是最小的,因此计时器可能会比请求的时间晚一点,这取决于其他任务如何与异步循环协作。
https://stackoverflow.com/questions/64938177
复制相似问题