libevent如何选择要运行的下一个Gevent greenlet?

2024-04-27 16:39:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解Gevent/Greenlet选择下一个Greenlet运行的方式。线程使用操作系统调度程序。Go运行时使用2个分层队列。你知道吗

默认情况下,Gevent将libevent用于其管道。但是如果很多人都准备好了,libevent如何选择下一个要运行的greenlet呢?

是随机的吗?你知道吗

我已经看过他们的文档,看到了源代码。还是不知道。你知道吗

更新:更改文本以识别Gevent使用libevent。这个问题仍然适用于libevent。


Tags: 文档程序go管道源代码队列分层方式
1条回答
网友
1楼 · 发布于 2024-04-27 16:39:01

它的底层调度模型是libevent中的事件循环,它使用事件库,它监视不同的事件,并对它们做出相应的反应,然后根据我所了解的情况,需要greenlet对信号量进行一些处理,然后将其调度到libevent上。你知道吗

相关问题 更多 >