Paralelo :: ThreadContextpara una fácil creación de programas MultiPhead Perl PERL | |
Descargar ahora |
Paralelo :: ThreadContext Clasificación y resumen
Anuncio publicitario
- Licencia:
- Perl Artistic License
- Nombre del editor:
- Serge Tsafak
- Sitio web del editor:
- http://search.cpan.org/~tsafserge/
Paralelo :: ThreadContext Etiquetas
Paralelo :: ThreadContext Descripción
Marco para una fácil creación de programas MultiPhead Perl. ThreadContext es un módulo Perl proporciona un marco y algunas utilidades para una fácil creación de programas MultiPhead Perl. Introduce y utiliza el concepto de hilos concurrentes basados en contexto. Especifica un tipo de nombre y espacio de trabajo para la ejecución de hilo y consiste en una cola + hilos que trabajan en esa cola + bloqueos utilizados por los hilos que trabajan en esa cola. El usuario puede definir libremente tantos contextos como quiera, dependiendo de su lógica de aplicación, por ejemplo. 'Prefetch', 'Decodish', 'Ejecutar', ... En cada contexto, las hilos de contexto están realizando trabajos simultáticos similares en la misma cola. Todos los hilos en el mismo contexto representan un grupo de hilos. Por supuesto, un grupo puede consistir en un solo hilo. Los recursos bloqueados en un contexto no afectan otros contextuales.Synopsis Use Parallel :: ThreadContext; My $ Counter = 0; My $ Counter_ref = \ $ Contador; Sub OP1 {My $ Job = Shift @_; Parallel :: ThreadContext :: AbortCurrentThread ("Estoy cansado de vivir") si ($ Job == 30); Parallel :: ThreadContext :: PrintLn ("Realización de trabajos $ en contexto" .Parallel :: ThreadContext :: getContextName ()); Parallel :: ThreadContext :: PausecurrentThread (1); Parallel :: ThreadContext :: Reservelock ("encofrado", "Cálculo"); $ contador ++; Parallel :: ThreadContext :: Releaselock ("encofrado", "Cálculo"); } $ Paralelo :: ThreadContext :: Depuración = 1; Imprimir STdout Parallel :: ThreadContext :: versión (); My $ nbthreads = paralelo :: ThreadContext :: GetNoprocessors (); Si (definido $ NBTHTHREADS) {$ NBTHTHREADS * = 3; # 3 hilos por procesador} otra cosa {$ nbthreads = 3; } Parallel :: ThreadContext :: Shareevariable ($ Counter_ref); Parallel :: ThreadContext :: Iniciar (\ OP1, , $ NBTHTHREADS, "Cálculo"); Parallel :: ThreadContext :: AddJoCHSTOQUEUE (, "Cálculo"); Parallel :: ThreadContext :: PausecurrentThread (2); Parallel :: ThreadContext :: addjobstalueue (, "Cálculo"); Parallel :: ThreadContext :: PausecurrentThread (4); Parallel :: ThreadContext :: Fin ("Cálculo"); # debería dar una advertencia si la cola en el contexto aún está abierta (aún finalizada) paralela :: ThreadContext :: AddJobQueue (, "Cálculo"); #Warning desde que se mencionó el contexto ya no existe paralelo :: ThreadContext :: AddJobQueue (, "Cálculo"); Parallel :: ThreadContext :: Iniciar (\ OP1, [], 1, "COMPULTATION2"); Parallel :: ThreadContext :: FinalizeQueue ("Computación2"); Parallel :: ThreadContext :: YielDruntime ("Computación2"); Parallel :: ThreadContext :: Fin ("Computación2"); Parallel :: ThreadContext :: PrintLn ("El valor de contador final es $ contador"); Requisitos: · Perl
Paralelo :: ThreadContext Software relacionado
CGI :: Aplicación :: Plugin :: config :: perl
Gestión de archivos Pure Perl Config Management para CGI :: Solicitud ...
168