Thread chat client (20 answers)
Opened by tim at 2009-09-16 14:01

betterworld
 2009-09-16 16:46
#125877 #125877
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Guest wer
Du musst mit "treads" oder mit "alarm" oder mit nicht-blockierenden (nonblocking) Handles arbeiten.
Jedes hat sein vor und Nachteile.

Wie schon von anderen erwaehnt, ist IO::Select zu bevorzugen. Es nutzt den select-Systemcall, der es ermoeglicht, innerhalb eines einzigen Threads gleichzeitig auf Input von mehreren Dateihandles zu warten.

Dabei wird von keiner von dir genannten Techniken Gebrauch gemacht.

alarm und nicht-blockendes IO wuerde ich hier in einem Produktivscript auf keinen Fall benutzen, da es unnoetige Prozessorlast verbraucht und unnoetige Wartezeiten mit sich bringt (ein Deinem Beispiel oben immerhin eine Sekunde). Threads hingegen wären auch eine vernünftige Alternative, in Perl ist es aber meist nicht so toll, mit Threads zu arbeiten.

View full thread chat client