Discussie :: Isoleer :: Pool

Discussie :: Isoleer :: Zwembad is een zwembad van draden om meerdere taken uit te voeren.
Download nu

Discussie :: Isoleer :: Pool Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Graciliano M. P.
  • Uitgever website:
  • http://search.cpan.org/~gmpassos/

Discussie :: Isoleer :: Pool Tags


Discussie :: Isoleer :: Pool Beschrijving

Discussie :: Isoleer :: Zwembad is een zwembad van draden om meerdere taken uit te voeren. Discussie :: Isoleer :: Zwembad is een pool van threads om meerdere taken uit te voeren. Deze module creëert een zwembad van draden die kunnen worden gebruikt om tegelijkertijd veel taken uit te voeren. De interface naar het zwembad is vergelijkbaar met een normale draad :: isolaat-object, dus we kunnen denken dat het zwembad is als een draad die meerdere gesprekken tegelijkertijd kan ontvangen. Gebruik Draad :: Isoleer :: Pool; Mijn $ Pool = Thread :: Isoleer :: Pool-> Nieuw (); $ pool-> Gebruik ('LWP :: eenvoudig'); ## Laadt LWP :: eenvoudig in de hoofddraad van het zwembad. Print $ Pool-> Main_thread-> Err; ## $ @ van de hoofddraad van het zwembad. mijn $ URL = 'http://www.perlmonks.com/'; Mijn $ Job1 = $ Pool-> Call_Detached ('Get', $ URL); Mijn $ Job2 = $ Pool-> Call_Detached ('Get', $ URL); Mijn $ Job3 = $ Pool-> Call_Detached ('Get', $ URL); ## afdrukken Welke taken lopen in het zwembad: terwijl ($ Job1-> Is_Running || $ Job2-> Is_Running || $ Job3-> IS_RUNNING) {print "" als $ Job1-> Is_Running; Print "" als $ job2-> is_running; Print "" als $ job3-> is_running; } Print "n-maat:". lengte ($ Job1-> geretourneerd). "N" ; Print "n-maat:". lengte ($ Job2-> geretourneerd). "N" ; Print "n-maat:". lengte ($ Job3-> geretourneerd). "N" ; ## Schakel alle draad van het zwembad af: $ Pool-> Shutdown; de bovenstaande code creëert een zwembad van draden en maakt gelijktijdig 3 LWP :: Simple :: Get () s. Intern heeft het zwembad een hoofddraad die wordt gebruikt om de executiedraad te maken. De hoofddraad moet alle middelen / modules hebben geladen voordat een oproep () / eval () naar het zwembad wordt gesproken. Wanneer een oproep () / eval () wordt gemaakt, als het zwembad geen draadvrij heeft (zonder een baan te voeren), wordt een nieuwe draad gemaakt van de hoofddraad en wordt het gebruikt om de taak te doen. Merk op dat er nadat er geen threads worden verwijderd nadat dit is gemaakt, omdat dit geen geheugen vrij is, dus is het beter om ze daar te laten totdat het shutdown (). Methrootte (limiet) creëert een nieuw zwembad. Als de limiet is gedefinieerd, zal het maximaal aantal threads in het zwembad instellen. Dit definieert dus het maximale aantal gelijktijdige gesprekken dat het zwembad kan hebben ..Main_threadReturns de hoofddraad. De limiet van de draad van het zwembad .Get_free_threadreturn een vrije draad. Indien niet mogelijk is om een gratis draad te krijgen en een nieuwe verschuldigde limiet te creëren, wordt elke draad in het zwembad geretourneerd. Als een array-wedstrijd wordt geroepen (Free_thread, on_limit), waar wanneer on_limit waar is, geeft waar dat niet mogelijk is Ontvang een gratis draad of maak een nieuwe vrije thread.ADD_threadadd een nieuwe thread als niet in de limiet staat. Gebruik (module, args) Maak een "gebruikmodule qw (args)" call in de hoofddraad van het zwembad. Callget een gratis Draad en maak een $ thi-call ()> op it.call_detachedget een gratis draad en maak een $ thi-call_detached ()> op it.evalget een gratis draad en maak een $ thi-evaluatie ()> op it.eval_detachedget a Gratis draad en maak een $ thi-eval_detached ()> op it.Shutdownshutdown Alle threads van het zwembad. Vereisten: · Perl


Discussie :: Isoleer :: Pool Gerelateerde software

Webfetch

Webfetch is een PERL-module om informatie van het web te downloaden en op te slaan. ...

160

Downloaden