On Thu, Jul 13, 2006 at 01:12:34PM +0200, Frank Benkstein wrote:
Der CCC Dresden lädt ein:
- Themenabend Python und Twisted * * *
Später soll noch kurz das Programmierframework Twisted[2] vorgestellt werden, das die Möglichkeit bietet, in Python asynchrone Programmierung ohne Threads (eventbasiert) zu betreiben, und damit hohe Performance erreicht. Twisted bietet aber vorallem fertige Bibliotheken zu Netzwerkprogrammierung an, HTTP über SMTP, IMAP, POP, bis hin zum eigenen SSH-Server an.
Hallo Frank und andere,
ich bin großer Freund der Programmiersprache Python, aber mit Twisted konnte ich mich noch nicht anfreunden. Hier ein paar Fragen, da ich leider nicht zum Themenabend kommen kann.
Twisted lauscht doch an einem oder mehreren Filedescriptoren/Sockets (select, bzw. poll) und verarbeitet dann die Descriptoren über die Daten gerade angekommen sind. Arbeitet dabei nur eine Instanz des Pythoninterpreters (ein Prozess)? Wenn dem so wäre, dann würde doch das Abarbeiten der anderen Anfragen stehenbleiben, falls mal das bearbeiten eines Events lange dauert.
Threads sind dafür keine gute Lösung, da aufgrund des GIL (Global Interpreter Locks) wirkliche Paralallität nicht möglich ist.
Oder unterstüzt Twisted auch ein Prefork Workerprozess Modell, wie z.B. SCGI (ähnlich aber einfacher als FastCGI)?
Ich denke die Twisted-Leute haben dafür schon Lösungen parat, oder?
Gruß, Thomas