Anhang A. Eine kurze Geschichte der Async-Unterstützung in Python

Obwohl es schon lange Teil der Python-Standardbibliothek ist, leidet das asyncore-Modul an grundlegenden Mängeln, die auf eine unflexible API zurückzuführen sind, die den Erwartungen an ein modernes asynchrones Netzwerkmodul nicht gerecht wird.

Außerdem ist der Ansatz zu einfach, um Entwicklern alle Werkzeuge an die Hand zu geben, die sie brauchen, um das Potenzial der asynchronen Vernetzung voll auszuschöpfen.

Die beliebteste Lösung, die derzeit in der Produktion eingesetzt wird, ist die Verwendung von Bibliotheken von Drittanbietern. Diese bieten oft zufriedenstellende Lösungen, aber es mangelt an Kompatibilität zwischen diesen Bibliotheken, was dazu führt, dass die Codebasen sehr eng an die verwendete Bibliothek gekoppelt sind.

Laurens van Houtven, PEP 3153 (Mai 2011): Asynchrone IO-Unterstützung

Das Ziel von ist es, die Geschichte der asynchronen Programmierung in Python zu beschreiben. Was ich damit sagen will - und was mich immer noch erstaunt, wenn ich darüber nachdenke - ist, dass die wichtigste Innovation, auf die wir 20 Jahre lang gewartet haben, die Syntax der Sprache war.

Das wird viele überraschen, aber Asyncio ist nicht der erste Versuch, Python um Unterstützung für asynchrone Netzwerkprogrammierung zu erweitern, wie im Folgenden erläutert wird.

Am Anfang war asyncore

[Im Vergleich zu Asyncore ist Twisted in so ziemlich jeder Hinsicht besser: Es ist portabler, funktionsreicher, einfacher, skalierbarer, ...

Get Asyncio in Python verwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.