greenlet - Lekkie równoległe programowanie w toku Pakiet „greenlet” jest wydzieleniem Stackless, wersji CPython, która obsługuje mikro-wątki zwane „zadaniami”.Zadania są uruchamiane pseudo-równolegle (zazwyczaj w jednym lub kilku wątkach na poziomie systemu operacyjnego) i są synchronizowane z wymianą danych na „kanałach”.Z drugiej strony „greenlet” jest jeszcze bardziej prymitywnym pojęciem mikro-wątku bez ukrytego planowania;innymi słowy.Jest to przydatne, gdy chcesz dokładnie kontrolować, kiedy działa Twój kod.Możesz zbudować niestandardowe zaplanowane mikrowątki na szczycie greenlet;wydaje się jednak, że greenlety są przydatne same w sobie jako sposób na tworzenie zaawansowanych struktur kontroli przepływu.Na przykład możemy odtworzyć generatory;różnica w porównaniu z własnymi generatorami Pythona polega na tym, że nasze generatory mogą wywoływać funkcje zagnieżdżone, a funkcje zagnieżdżone również mogą generować wartości.(Dodatkowo nie potrzebujesz słowa kluczowego „wydajność”. Zobacz przykład w test / test_generator.py). Greenlety są dostarczane jako moduł rozszerzenia C dla zwykłego niezmodyfikowanego interpretera.Kod źródłowy :