Parallelo :: ThreadContext.Quadro per una facile creazione di programmi perl multithread | |
Scarica ora |
Parallelo :: ThreadContext. Classifica e riepilogo
Annuncio pubblicitario
- Licenza:
- Perl Artistic License
- Nome editore:
- Serge Tsafak
- Sito web dell'editore:
- http://search.cpan.org/~tsafserge/
Parallelo :: ThreadContext. Tag
Parallelo :: ThreadContext. Descrizione
Quadro per una facile creazione di programmi perl multithread ThreadContext è un modulo Perl fornisce un quadro e alcune utilità per una facile creazione di programmi perl multithread. Introduce e utilizza il concetto di thread simultaneo basato sul contesto. Un contesto Specifica un tipo di nome e spazio di lavoro per l'esecuzione del filo ed è composto da una coda + thread che lavorano su quella coda + serrature utilizzate dai thread che lavorano su quella coda. L'utente può definire liberamente il maggior numero di contesti che vuole a seconda della logica dell'applicazione E.G. 'Prefetch', 'Decode', 'Execute', ... In ogni thread del contesto sta eseguendo i lavori simili simultanei sulla stessa coda.Tutti i thread nello stesso contesto rappresentano un gruppo di thread. Ovviamente un gruppo può essere composto da solo un filo. Le risorse bloccate in un contesto non influiscono su altri contesti.Synopsis Utilizzare parallelo :: ThreadContext; il mio contatore $ = 0; My $ Counter_ref = \ $ contatore; sub op1 {my $ job = shift @_; Parallelo :: threadcontext :: abortcurrentthread ("Sono stanco di vivere") se ($ lavoro == 30); Parallelo :: ThreadContext :: PrintLN ("Esecuzione di lavoro $ lavoro in contesto" .Parallel :: ThreadContext :: getcontextname ()); Parallelo :: ThreadContext :: PauseCurrenTthread (1); Parallelo :: ThreadContext :: ReserveLock ("Controsoffitto", "Computation"); $ Contatore ++; Parallelo :: ThreadContext :: Releaselock ("Controsoffitto", "Computer"); } $ Parallel :: ThreadContext :: Debug = 1; Stampa Stdout Parallel :: ThreadContext :: versione (); My $ Nbthreads = Parallel :: ThreadContext :: getnoprocessori (); se (definito $ nbthreads) {$ nbthreads * = 3; # 3 fili per processore} else {$ nbthreads = 3; } Parallele :: ThreadContext :: ShareVariable ($ contringa_ref); Parallelo :: ThreadContext :: Start (\ OP1, , $ Nbthreads, "Computation"); Parallelo :: threadcontext :: aggiungijobstoquequee (, "calcolo"); Parallelo :: ThreadContext :: PauseCurrenTthread (2); Parallelo :: ThreadContext :: AddJobStoquequee (, "Computation"); Parallelo :: ThreadContext :: PauseCurrenTthread (4); Parallelo :: ThreadContext :: End ("Computation"); #Would fornire un avviso se la coda nel contesto è ancora aperta (non ancora finalizzata) parallelo :: ThreadContext :: AddJobStoquee (, "Computation"); #Warnning da quando il contesto menzionato non esiste più parallelo :: ThreadContext :: AddJobStoquequee (, "Computation"); Parallelo :: ThreadContext :: Start (\ OP1, [], 1, "Computation2"); Parallelo :: ThreadContext :: Finalizequate ("Computation2"); Parallelo :: ThreadContext :: Yielleduntime ("Computation2"); Parallelo :: ThreadContext :: End ("Computation2"); Parallelo :: ThreadContext :: PrintLN ("Valore del contatore finale è $ contatore"); Requisiti: · Perl.
Parallelo :: ThreadContext. Software correlato
Net :: IP :: cmatch
Abbina in modo efficiente gli indirizzi IP contro gli intervalli IP con c ...
181