Io :: lambda

Niet-blokkering I / O in Lambda-stijl
Download nu

Io :: lambda Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Dmitry Karasik
  • Uitgever website:
  • http://search.cpan.org/~karasik/Prima-1.26/pod/Prima/Widget.pod

Io :: lambda Tags


Io :: lambda Beschrijving

Niet-blokkering I / O in Lambda-stijl IO :: Lambda is een PERL-module met niet-blokkering I / O in Lambda Style.SynopsisDe code hieronder voert parallelle http-aanvragen uit. Gebruik IO :: Lambda QW (: Lambda); Gebruik IO :: Socket :: Inet; # Maak een Lambda-object sub http {my ($ host, $ URL) = @_; Mijn $ Socket = IO :: Socket :: Inet-> NIEUW (PEERADDR => $ HOST, PEERPORT => 80); lambda {context $ socket; Schrijf {Print $ socket "Get $ URL HTTP / 1.0 ", mijn $ buf = ''; lees {return $ buf tenzij sysread ($ socket, $ buf, 1024, lengte ($ buf)); opnieuw;}}}} # vuur een enkele lambda op en wacht totdat het afdrukken voltooit http ('www.perl.com', '/') -> Wacht; # vuur een lambda op die wacht op twee HTTP-verzoeken in parallelle lambda {context http ('www.perl.com', '/'), http ('www.google.com', '/'); staarten {print @_;}} -> Wacht; Opmerking: io en lambda zijn synoniemen - ik geef persoonlijk de voorkeur aan lambda, maar sommigen vinden het woord iets ongepast, vandaar io.Dit Module is een andere poging om de gruwelen van niet-blokkerende I / O-programmering te bestrijden. Het probeert de eenvoud van de declaratieve programmeerstijl terug te brengen, die alleen anders is beschikbaar wanneer men onderscheidingen, coroutines of co-processen in dienst is. Meestal codering -Blocking I / O voor een enkel proces, single thread-programma's vereisen de constructie van staatsmachines, vaak vrij complex, wat niet helpt de duidelijkheid van de code. Niet, in tegenstelling tot monaden in functionele talen, die de uitvoering van de uitvoering van de generaal handhaven Ly Orderless-functies, dit framework helpt programmeur om de volgorde van uitvoering van I / O-callbacks in een coderingsstijl uit te drukken die lijkt op sequentiële, declaratieve programmering. De handleiding begint met code-voorbeelden, legt vervolgens fundamentele veronderstellingen uit, dan krijgt u uiteindelijk de complexe concepten, waar het echte plezier begint. U kunt daar direct overslaan ("Stream IO"), waar functionele stijl mengt met I / O. Vereisten: · Perl


Io :: lambda Gerelateerde software