Opis
Programowanie współbieżne jest ważną techniką w tworzeniu nowoczesnych rozwiązań sieciowych. Programiści Pythona często w tym celu korzystają z wątków i mechanizmu wywłaszczania. Z tym że nie jest to optymalne rozwiązanie - z uwagi na ryzyko naruszenia bezpieczeństwa. Istnieje też możliwość programowania asynchronicznego z wykorzystaniem biblioteki asyncio, która została dodana w Pythonie 3.4. Złożoność API Asyncio budzi jednak obawy programistów Pythona, również biegle posługujących się tym językiem. Mimo to wysiłek włożony w zrozumienie działania Asyncio jest opłacalny, gdyż biblioteka ta pozwala na skuteczne rozwiązywanie problemów ze współbieżnym programowaniem sieciowym.
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.
W tej książce:
porównanie programowania współbieżnego z wykorzystaniem Asyncio i wątków
podstawy programowania bazującego na zdarzeniach
możliwości Asyncio ważne dla programistów końcowych oraz twórców frameworków
składnia async/await, w tym API koprocedur i klasy Future
szczegółowe przypadki użycia kilku bibliotek zgodnych z Asyncio
Programowanie asynchroniczne: nowa wizja bezpieczeństwa kodu Pythona!
O autorze
Caleb Hattingh programuje w Pythonie od mniej więcej dwudziestu lat. Używał go do modelowania reakcji chemicznych, tworzenia systemów rezerwacji miejsc w hotelach, budowy systemów CRM, witryn WWW czy też do tworzenia oprogramowania wykorzystującego system GPS. Często występuje jako prelegent podczas konferencji PyCon AU. Chętnie angażuje się w pomoc młodym programistom, na przykład jako mentor CoderDojo. Bierze też udział w Software Carpentry, a nawet w Govhacker .