Python i Asyncio

Book description

Lektura tej książki ułatwi Ci pozbycie się obaw przed biblioteką asyncio. Zrozumiesz jej podstawowe elementy, co pozwoli Ci na rozpoczęcie programowania sterowanego zdarzeniami i prostą obsługę tysięcy jednoczesnych połączeń sieciowych. Dowiesz się, dlaczego Asyncio stanowi bezpieczniejszą alternatywę dla wielozadaniowości z wywłaszczaniem wątków, i dogłębnie zrozumiesz koncepcję programowania asynchronicznego. Następnie przeanalizujesz wprowadzone w Pythonie zmiany, dzięki którym możliwe jest programowanie asynchroniczne. Dowiesz się także, w jakich konkretnie sytuacjach biblioteka asyncio jest wyjątkowo użyteczna i których narzędzi należy wtedy używać. W książce pokazano najlepsze sposoby wykorzystania nowych możliwości Asyncio.

Table of contents

  1. Wstęp
    1. Konwencje zastosowane w tej książce
    2. Przykłady
    3. Podziękowania
  2. Rozdział 1. Prezentacja Asyncio
    1. Restauracja ThreadBotów
    2. Epilog
    3. Jakie problemy stara się rozwiązywać Asyncio?
  3. Rozdział 2. Prawda o wątkach
    1. Zalety stosowania wątków
    2. Wady stosowania wątków
    3. Studium przypadku: roboty i sztućce
  4. Rozdział 3. Asyncio — przegląd informacji
    1. Szybki start
    2. Wieża Asyncio
    3. Koprocedury
      1. Nowe słowa kluczowe async def
      2. Nowe słowo kluczowe await
    4. Pętla zdarzeń
    5. Klasy Task i Future
      1. Kilka słów o terminologii
    6. Asynchroniczne menedżery kontekstu: async with
      1. Zastosowanie modułu contextlib
    7. Iteratory asynchroniczne: async for
    8. Prostszy kod dzięki użyciu generatorów asynchronicznych
    9. Asynchroniczne wyrażenia listowe
    10. Rozpoczynanie i kończenie (łagodne!)
      1. Do czego służy argument return_exceptions=True funkcji gather()?
      2. Sygnały
      3. Oczekiwanie na egzekutor podczas procesu kończenia
  5. Rozdział 4. 20 bibliotek Asyncio, których nie używasz (ale… mniejsza z tym)
    1. Strumienie (biblioteka standardowa)
      1. Studium przypadku: kolejka komunikatów
      2. Studium przypadku: poprawa kolejki komunikatów
    2. Framework Twisted
    3. Kolejka Janus
    4. aiohttp
      1. Studium przypadku: „Witaj, świecie!”
      2. Studium przypadku: mechanizm zbierania doniesień
    5. ØMQ (ZeroMQ)
      1. Studium przypadku: obsługa wielu gniazd
      2. Studium przypadku: monitorowanie wydajności aplikacji
    6. asyncpg i Sanic
      1. Studium przypadku: unieważnienie pamięci podręcznej
    7. Inne biblioteki i zasoby
  6. Rozdział 5. Przemyślenia końcowe
  7. Dodatek A Krótka historia programowania asynchronicznego w języku Python
    1. Na początku było asyncore
    2. Ścieżka do rodzimych koprocedur
  8. Dodatek B Materiały uzupełniające
    1. Przykład ze sztućcami z wykorzystaniem asyncio
    2. Materiały dodatkowe do przykładu z mechanizmem zbierania doniesień
    3. Materiały uzupełniające studium przypadku z ZeroMQ
    4. Obsługa wyzwalaczy bazy danych na potrzeby studium przypadku użycia bibliotek asyncpg
    5. Materiał uzupełniający do przykładu z frameworkiem Sanic: aelapsed i aprofiler
    6. O autorze
    7. Kolofon

Product information

  • Title: Python i Asyncio
  • Author(s): Caleb Hattingh
  • Release date: November 2020
  • Publisher(s): Helion
  • ISBN: 9788328370036