Coroutine: Część kodu, którą można przerwać i wznowić w skrypcie wielokrotnie, nazywa się Coroutine. Coroutines współpracuje z programem wielowocarstwowym. Kiedy jedna coroutine zatrzymuje się, inna coroutine może wykonać.
Pętla wydarzenia: Służy do rozpoczęcia wykonywania coroutines i obsługi operacji wejściowych/wyjściowych. Wymaga wielu zadań i uzupełniają je.
Zadanie: Wykonanie i wynik coroutin są zdefiniowane przez zadania. Możesz przypisać wiele zadań za pomocą biblioteki asyncio i uruchomić zadania asynchroniczne.
Przyszły: Działa jako przyszłe miejsce do przechowywania, w którym wynik Coroutines będzie przechowywać po zakończeniu. Jest to przydatne, gdy każda coroutine wymaga poczekać na wynik innej coroutine.
Jak możesz wdrożyć powyższe pojęcia biblioteki asyncio, jest pokazany w tym samouczku za pomocą niektórych prostych przykładów.
Utwórz plik o nazwie Async1.py i dodaj następujący kod. Biblioteka asyncio jest importowana w celu korzystania z funkcji tej biblioteki. dodać Funkcja jest zadeklarowana w celu obliczenia suma określonego zakresu liczb. Zakres liczb od 1 do 101 jest przypisany przez zadanie z jednym drugim opóźnieniem. Pętla zdarzeń jest deklarowana, że będzie działać do momentu zakończenia wszystkich zadań głównej metody. Po obliczeniu wartości funkcja będzie czekać na jedną sekundę i wydrukować wynik.
Import AsyncioWyjście:
$ Python3 Async1.pyWyjście pokazuje sumę od 1 do 101, która wynosi 5050.
Przykład-2: Utwórz wiele Coroutines
Korzystanie z biblioteki asyncio zostanie usunięte, gdy uruchomisz wiele coroutinów jednocześnie. Utwórz nowy plik wymieniony Async2.py i dodaj następujący kod. Trzy zadania są generowane z trzema różnymi zakresami i wartościami oczekiwania główny() metoda. Pierwsze zadanie obliczy sumę od 5 do 500000, czekając 3 sekundy, drugie zadanie będzie obliczyć sumę od 2 do 300000, czekając 2 sekundy, a trzecie zadanie będzie obliczyć sumę od 10 do 1000 przez oczekiwanie 1 sekundy. Zadanie z niskimi wartościami oczekiwania na początku zostanie zakończone, a zadanie o wysokiej wartości oczekiwania zostanie w końcu zakończone.
Import AsyncioWyjście:
$ Python3 Async1.pyDane wyjściowe pokazuje, że zadanie3 jest zakończone najpierw, ponieważ czas oczekiwania tego zadania wynosił zaledwie 1 sekundę, a zadanie.
Przykład-3: Coroutines z przyszłością
Ten przykład pokazuje użycie przyszłego obiektu biblioteki asyncio. Utwórz nowy plik wymieniony Async3.py i dodaj następujący kod. W tym przykładzie przypisane są dwa zadania na przyszłość. Pokaż wiadomość Funkcja jest tutaj zadeklarowana w celu wydrukowania wiadomości przed wykonaniem Coroutine i po zakończeniu wykonania. Pierwsze zadanie będzie czekać na 2 sekundy i zakończy ostatnie. Drugie zadanie będzie czekać na 1 sekundy i ukończy najpierw.
Import AsyncioWyjście:
$ Python3 Async3.pyW wyjściu pokazano, że zadanie.
Wyjaśniono podstawową koncepcję programowania asynchronicznego za pomocą Asyncio Library of Python. Mam nadzieję, że będziesz mógł napisać wielowo-strepinowy kod w Pythonie po ćwiczeniu przykładów tego samouczka.