Gevent/Greenlet이 실행될 다음 Greenlet을 선택하는 방식을 이해하려고합니다. 스레드는 OS 스케줄러를 사용합니다. 실행 런타임에서는 2 개의 계층 적 대기열을 사용합니다.Gevent는 다음 재배지를 어떻게 선택합니까?
기본적으로 Gevent는 libevent를 사용합니다. 그러나 많은 사람들이 준비가되어 있다면, libevent가 다음 그린레울을 어떻게 달릴 것입니까?
무작위입니까?
나는 이미 문서를 읽고 소스 코드를 확인했다. 여전히 모르다.
업데이트 : Gevent가 libevent를 사용함을 인식하도록 텍스트가 변경되었습니다. 문제는 여전히 libevent에 적용됩니다.
먼저 녹서 자체가 '선택'하지 않는다는 점에 유의하십시오. Greenlet은 한 코 루틴이 다른 코 루틴에 양보하는 메커니즘만을 제공합니다. gevent는 greenlet + libevent이고 libevent는 이벤트 루프를 제공합니다. – jwg
그렇기 때문에 동등하지만 더 정확한 질문이 될 것입니다. : 많은 사람들이 준비가되어 있다면, Gevent에서 사용할 때 libevent가 다음 그린 레를 어떻게 선택합니까? – alanjds
@alands, 예, 그렇습니다. – jwg