Thread :: Isolat :: Pool

Thread :: isolate :: Pool ist ein Pool von Threads, um mehrere Aufgaben auszuführen.
Jetzt downloaden

Thread :: Isolat :: Pool Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Graciliano M. P.
  • Website des Verlags:
  • http://search.cpan.org/~gmpassos/

Thread :: Isolat :: Pool Stichworte


Thread :: Isolat :: Pool Beschreibung

Thread :: Isolate :: Pool ist ein Pool von Threads, um mehrere Aufgaben auszuführen. Thread :: Isolate :: Pool ist ein Pool von Threads, um mehrere Aufgaben auszuführen. Dieses Modul erstellt einen Pool von Threads, mit dem Sie gleichzeitig viele Aufgaben ausgeführt werden können. Die Schnittstelle zum Pool ähnelt einem normalen Thread :: Isolatobjekt, so dass wir glauben können, dass der Pool wie ein Thread ist, der mehrere Anrufe gleichzeitig empfangen kann. Usage Verwenden Sie Thread :: Isolat :: Pool; mein $ pool = thread :: isolat :: pool-> neu (); $ Pool-> Verwendung ('LWP :: Simple'); ## lädt LWP :: einfach im Hauptgewinde des Pools. $ Pool-> Main_Thread-> Err; ## $ @ des Hauptfadens des Pools. Meine $ URL = 'http://www.perlmonks.com/'; mein $ job1 = $ pool-> call_detached ('Get', $ URL); mein $ job2 = $ pool-> call_detached ('Get', $ URL); mein $ job3 = $ pool-> call_detached ('Get', $ URL); ## drucken, welche Jobs im Pool laufen: Während ($ job1-> is_strunning || $ job2-> is_strunning || $ job3-> is_strunning) {drucken "" Wenn $ job1-> is_strunning; drucken "" Wenn $ job2-> is_strunning; drucken "", wenn $ job3-> is_strunning; } Drucken "n Größe:". Länge ($ job1-> zurückgegeben). "n" ; drucken "n Größe:". Länge ($ job2-> zurückgegeben). "n" ; drucken "n Größe:". Länge ($ job3-> zurückgegeben). "n" ; ## Herunterfahren des gesamten Threads des Pools: $ Pool-> Herunterfahren; Der obige Code erstellt einen Pool von Threads und macht gleichzeitig 3 LWP :: Simple :: Get () s. Intern hat der Pool einen Hauptthread, der zum Erstellen der Ausführungsfäden verwendet wird. Der Hauptthread sollte alle Ressourcen / Module aufweisen, die vor Anruf () / Eval () an den Pool geladen werden. Wenn ein Anruf () / EVAL () Wird gemacht, wenn der Pool keinen Thread frei hat (ohne einen Job ausführen), wird ein neuer Thread aus dem Hauptgewinde erstellt und wird zur Aufgabe verwendet. Beachten Sie, dass nach der Erstellung keine Threads entfernt werden, da dies nicht freien Speicher nicht frei ist. Daher ist es besser, sie dort bis zum Herunterfahren () zulassen. Methodennew (Limit) erstellt einen neuen Pool. Wenn das Limit definiert ist, wird die maximale Anzahl von Threads im Pool eingestellt. Dies definiert also die maximale Anzahl von gleichzeitigen Anrufen, die der Pool haben kann .Main_Threadreturns des Hauptgewinde Wenn es nicht möglich ist, einen kostenlosen Thread zu erhalten und eine neue Fälligkeitsgrenze zu erstellen, wird jeder Thread im Pool zurückgegeben. Wenn in einem Array-Wettbewerb aufgerufen wird, kehrt (free_thread, on_limit) zurück, wo, wenn on_limit wahr ist, angibt, dass nicht möglich ist Holen Sie sich einen kostenlosen Thread oder erstellen Sie einen neuen Free Thread.add_threadadd Ein neuer Thread, wenn er nicht in der Limit ist. Verwenden Sie (Modul, Argumentation) ein "Verwenden von Modul QW (ARGS)" Anruf im Hauptthread des Pools an .Kallget a Thread und erstellen Sie einen $ thi-call ()> auf it.call_detachedget ein kostenloser Thread und machen Sie ein $ thi-call_detached ()> auf it Kostenloser Thread und machen Sie ein $ thi-eved_detached ()> drauf. Anforderungen: · Perl.


Thread :: Isolat :: Pool Zugehörige Software